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

时间:2015-09-24 09:00:08

标签: c# uisplitviewcontroller uwp

我想使用图像(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类:

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 app?感谢。

1 个答案:

答案 0 :(得分:1)

使用uri代替符号。

public Uri IconUri {get; set;}

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

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

splitView.IsPaneOpen = true;