我目前正在学习如何制作UWP应用程序,为此,我正在创建一个允许用户创建笔记,笔记类别等的应用程序......
我有一个NavigationView,其中列出了每个类别,当用户点击特定类别时,会弹出一些(我不知道还有什么)所有注释的列表。
< / p>
我希望每个类别都有一个图标,因此当关闭NavigationView的窗格时,用户仍然可以点击一个类别。
我的问题如下:
当用户创建一个新类别时,我想通过一个组合框(或其他相同的东西)给他选择图标,其中包含所有可能的图标。
编辑:
这就是我所做的:我使用SymbolIcon组件向我的Combobox添加了一个ItemTemplate:
<ComboBox x:Name="iconpicker">
<ComboBox.ItemTemplate>
<DataTemplate>
<SymbolIcon Symbol="{Binding symbol}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
我也做了一个简单的课程:
public class ComboSymbol
{
public Symbol symbol;
}
这是填充组合框的代码:
ObservableCollection<ComboSymbol> images = new ObservableCollection<ComboSymbol>();
iconpicker.ItemsSource = images;
images.Add(new ComboSymbol { symbol = Symbol.Accept });
而且......它几乎正常工作 Picture of the combobox item
如您所见,符号不是我选择的符号。无论我选择哪个符号(代码隐藏),总会有这个表情符号。
编辑2:
我正在寻找我做错事的地方,显然这是关于我的约束力。 SymbolIcon组件有一个默认图标(我刚刚创建了一个SymbolIcon而没有告诉我想要的符号,这个表情符号再次出现,所以我想在我的情况下我的绑定不好,因为它找不到我想要的符号,该程序使用默认图标)。
最终修改:
问题出在这里:我忘了在班级成员申报之后加上“{get; set;}”。它现在正在运作!
public Symbol symbol { get; set; } // Fix
答案 0 :(得分:0)
有几个UWP控件可以显示“图标”。他们的共同父类是IconElement
类,它具有以下实现:
您当然可以使用与NavigationView
项目相同的ComboBox
图标。
使用XAML自定义ComboBox
非常简单,因为它完全可模板化,您只需创建自定义模板即可:
这假定Items
是一个自定义类的集合,其具有IconUri
属性,其中包含用作图标的图像的路径以及带有一些文本的Text
属性。然后它将显示一个两列布局,左侧是图标,旁边是文本。