C# NavigationViewItem中的自定义属性

C# NavigationViewItem中的自定义属性,c#,xaml,uwp,navigationview,C#,Xaml,Uwp,Navigationview,我正在NavigationViewItem中为通知创建一个新网格。但我不明白如何创造一个 要使用的属性 我创建了设计,但文本已分配给所有项目。 我想控制通知的属性(可见和文本) 我如何管理这个? 任何帮助都将不胜感激 <Grid Visibility="Visible" CornerRadius="5, 5, 5, 5" HorizontalAlignment="Right" Width="30" Background="#11FFFFFF" Opacity="1" Height="24

我正在NavigationViewItem中为通知创建一个新网格。但我不明白如何创造一个 要使用的属性

我创建了设计,但文本已分配给所有项目。 我想控制通知的属性(可见和文本)

我如何管理这个? 任何帮助都将不胜感激

<Grid Visibility="Visible" CornerRadius="5, 5, 5, 5" HorizontalAlignment="Right" Width="30" Background="#11FFFFFF" Opacity="1" Height="24" Margin="0,0,15,0">
 <TextBlock Text="17" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,0,0,1" Foreground="#FFC5C5C5"/>
</Grid>

NavigationViewItem中的自定义属性

默认的
NavigationViewItem
不包含
Notification
属性。您可以使用TempateControl自定义
NavigationViewItem
,但它很复杂。使用
IValueConverter
处理
Visibility
是一种简单的实现方法

    <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>
模型类

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; }
}

这是您可以使用的代码示例

当然可以。我把代码放在一个文本文件中,并使用GoogleDrive,因为这里有一个限制。链接:
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; }
}