如何在Windows应用商店中通过资源或以编程方式设置应用栏按钮图像

时间:2013-03-06 06:20:16

标签: windows-store-apps appbar

我想以编程方式加载AppBar,但是我无法将图像设置为位图。这是允许的吗?或者只能使用Segoe UI符号字符?

我尝试在资源中执行此操作:

<Style x:Key="StudyAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
    <Setter Property="AutomationProperties.AutomationId" Value="StudyAppBarButton"/>
    <Setter Property="AutomationProperties.Name" Value="Study"/>
    <Setter Property="Content">
        <Setter.Value>
            <Image Source="Assets/AppBar/Study.png" />
        </Setter.Value>
    </Setter>
</Style>

不显示位图。

我可以通过编程方式设置位图:

        Uri _BaseUri = new Uri("ms-appx:///");
        foreach (MenuItem menuItem in Model.MainMenu.MenuItems)
        {
            Button button = new Button();
            button.Name = menuItem.Name;
            button.Click += AppBar_Click;
            button.Tag = menuItem.Name;
            Style style = (Style)App.Instance.Resources["AppBarButtonStyle"];
            button.Style = style;
            Image image = new Image();
            Uri uri = new Uri(_BaseUri, "Assets/AppBar/" + menuItem.Name + ".png");
            image.Source = new BitmapImage(uri);
            image.Width = 25;
            image.Height = 25;
            button.Content = image;
            AutomationProperties.SetName(button, menuItem.Title);
            TopLeftPanel.Children.Add(button);
        }

但如果我这样做:

button.Content = "\uE10F";

我没有看到主角。

一般情况下,在应用栏中使用自定义图像是否有任何示例或指南? Segoe没有适用于我所有菜单项的图像。

不幸的是我的应用程序非常复杂,有两级菜单,因此任何有关处理此问题的建议都将受到赞赏。基本上,我正在尝试将我的网站http://www.jtlanguage.com变成一个应用程序。

感谢。

-John

1 个答案:

答案 0 :(得分:0)

您必须创建自己的样式,AppBarButtonStyle不能与图像一起使用。我建议你查看这个MSDN论坛帖子,它可能对你有所帮助。 how I can customize my AppBarIcons Images?。如果找到解决方案,请不要忘记接受这个答案。