Пользовательское свойство в NavigationViewItem
Значение по умолчанию NavigationViewItem
не содержит Notification
свойство. Вы можете использовать TempateControl для пользовательских NavigationViewItem
, но это сложно. Есть простой способ реализовать этот процесс Visibility
с IValueConverter
.
<Grid
Width="200"
Height="24"
Margin="0,0,15,0"
HorizontalAlignment="Right"
Background="#11FFFFFF"
CornerRadius="5, 5, 5, 5"
Opacity="1"
Visibility="{Binding MessgeCount, Converter={StaticResource visibilityConverter}}"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}" />
<TextBlock
Grid.Column="1"
Margin="0,0,0,1"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Foreground="#FFC5C5C5"
Text="{Binding MessgeCount}"
/>
</Grid>
VisibilityConverter
public class VisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if ((int)value == 0)
{
return Visibility.Collapsed;
}
else
{
return Visibility.Visible;
}
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
Класс модели
public class Category : CategoryBase
{
public string Name { get; set; }
public string Tooltip { get; set; }
public Symbol Glyph { get; set; }
public bool IsEnabled { get; set; }
public int MessgeCount { get; set; }
}
Это пример кода, который вы могли бы см .