为了账号安全,请及时绑定邮箱和手机立即绑定

列表框中的c#materialdesign PackIcon

列表框中的c#materialdesign PackIcon

C#
大话西游666 2021-05-13 14:12:50
我想将数组添加到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 Materialdesign)。当我绑定图标名称时,舔一个字符串是行不通的。我试图这样做new MenuItem                {                    Id = 1,                    Caption = "Мои роли",                    Icon = PackIconKind.Pencil,                    Poeition = 2                },但是不起作用。
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

这是我测试过的一个简单修复程序。而不是将实际的PackIcons存储在MenuItem中,而是存储字符串版本。


MenuItem

{

    Id = 1,

    Caption = "Мои роли",

    Icon = PackIconKind.Pencil.ToString(),

    Poeition = 2

}

在我的示例中,“ Icon”变量是一个字符串。


您上面的xaml代码应该可以正常工作。


我已经尝试过了,而且行得通。


设置PackIcon的大小可能也值得尝试,尽管这不应该成为问题。


查看完整回答
反对 回复 2021-05-21
  • 1 回答
  • 0 关注
  • 808 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信