图像而不是符号 SplitView.Pane 项目图标

Image instead of Symbol SplitView.Pane Item Icon

我想使用图像 (PNG) 将其设置为 SplitView.Pane 项目的图标。 Sagoe MDL2 字体中没有图标。我知道建议使用矢量字体,但我真的需要用 png 图像替换它。现在它是这样工作的:

XAML ...

<SplitView.Pane>
                <!-- A custom ListView to display the items in the pane.  The automation Name is set in the ContainerContentChanging event. -->
                <controls:NavMenuListView x:Name="NavMenuList"
                                          TabIndex="3"
                                          Margin="0,48,0,0"
                                          ContainerContentChanging="NavMenuItemContainerContentChanging"
                                          ItemContainerStyle="{StaticResource NavMenuItemContainerStyle}"
                                          ItemTemplate="{StaticResource NavMenuItemTemplate}"
                                          ItemInvoked="NavMenuList_ItemInvoked">
</SplitView.Pane>

正在将项目添加到导航列表 代码:

private List<NavMenuItem> navlist = new List<NavMenuItem>(
            new[]
            {
        new NavMenuItem()
                {

                    Symbol = Symbol.Shop,
                    Label = "Go to shop",
                    DestinationPage = typeof(Views.Page1)
                }
            });

NavMenuItem class:

public class NavMenuItem
    {
        public string Label { get; set; }
        public Symbol Symbol { get; set; }
        public char SymbolAsChar
        {
            get
            {
                return (char)this.Symbol;
            }
        }

        public Type DestinationPage { get; set; }
        public object Arguments { get; set; }

    }

还有一个问题就别开别的话题了。如何像在 Windows 10 Mail 应用程序中一样按设置按钮打开左窗格?。谢谢。

使用 uri 代替符号。

public Uri IconUri {get; set;}

并在 NavMenuItemTemplate 中使用 Image 并将其 Source 属性 绑定到 IconUri.

要打开窗格,只需将 IsPaneOpen 设置为 true。

splitView.IsPaneOpen = true;