我希望将数组添加到ListBox中,并且希望每个ListBoxItem都有自己的文本和图标(PackIcon)。我形成数组并将其绑定到ListBox中。
C#
MenuItems = new[]
{
new MenuItem
{
Id = 0,
Caption = "Item 1",
Icon = "Pencil",
Poeition = 1
},
new MenuItem
{
Id = 1,
Caption = "Item 2",
Icon = "Ticket",
Poeition = 2
},XAML
<ListBox
x:Name="lbMenuPanel"
Foreground="White"
ItemsSource="{Binding MenuItems}"
PreviewMouseLeftButtonUp="lbMenuPanel_PreviewMouseLeftButtonUp"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Height="60" Orientation="Horizontal">
<md:PackIcon VerticalAlignment="Center" Kind="{Binding Icon}" />
<TextBlock Style="{StaticResource MenuTextBlock}" Text="{Binding Caption}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>显示文本,但图标不显示。如何动态显示图标(PackIcon材料设计)。当我绑定图标名舔字符串时,它就不起作用了。
我试过这样做
new MenuItem
{
Id = 1,
Caption = "Мои роли",
Icon = PackIconKind.Pencil,
Poeition = 2
},但不起作用。
发布于 2018-04-30 20:31:03
下面是我测试过的一个简单的修复方法。而不是将实际的PackIcons存储在MenuItem中,而是存储字符串版本。
MenuItem
{
Id = 1,
Caption = "Мои роли",
Icon = PackIconKind.Pencil.ToString(),
Poeition = 2
}在我的示例中,'Icon‘变量是一个字符串。
上面的xaml代码应该可以工作。
我试过了,而且成功了。
尝试设置PackIcon的大小也是值得的,尽管这不应该是问题所在。
https://stackoverflow.com/questions/50107323
复制相似问题