列表框中的c#materialdesign PackIcon

我想将数组添加到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

                },

但是不起作用。


大话西游666
浏览 815回答 1
1回答

神不在的星期二

这是我测试过的一个简单修复程序。而不是将实际的PackIcons存储在MenuItem中,而是存储字符串版本。MenuItem{&nbsp; &nbsp; Id = 1,&nbsp; &nbsp; Caption = "Мои роли",&nbsp; &nbsp; Icon = PackIconKind.Pencil.ToString(),&nbsp; &nbsp; Poeition = 2}在我的示例中,“ Icon”变量是一个字符串。您上面的xaml代码应该可以正常工作。我已经尝试过了,而且行得通。设置PackIcon的大小可能也值得尝试,尽管这不应该成为问题。
打开App,查看更多内容
随时随地看视频慕课网APP