【问题标题】:Confused about Identical Icon files in Windows Phone 8 apps对 Windows Phone 8 应用程序中的相同图标文件感到困惑
【发布时间】:2013-03-05 21:19:19
【问题描述】:

为什么 Visual Studio 中有两个相同的图标?

如果你输入:

<shell:ApplicationBarIconButton Text="new document" IconUri="" /> 然后打开属性窗格并打开 ApplicationBarIconButton 元素的组合框,您会注意到此组合框有一个add 按钮和一个new 按钮图标。当您查看这两个图标时,它们是相同的。

但是为什么呢?

我知道,在上下文中,new 和 add 都可以有不同的含义/执行不同的操作:

例如New 可以创建一个新文档,而add 可以在当前打开的文档中附加一些内容/添加一些内容。

但是,如果这是推理 - 那么两个图标应该是不同的,因为这可能会导致混淆,因为应用程序栏图标的默认状态已设置为图标的文本不可见,除非您点击 @ 987654325@ 在屏幕的右下角。因此,如果我在 ApplicationBar 菜单中有一个添加和一个新按钮,而在默认状态下,这可能会非常混乱,并且会迫使用户打开菜单只是为了查看哪个按钮是哪个。这违背了隐藏菜单栏文本的目的,不是吗?

【问题讨论】:

  • 我没有看到 addnew 按钮。您使用的是哪个版本的 Visual Studio?能否附上截图
  • 我正在使用 Visual Studio Express 2012 for Windows Phone。
  • 我仍然没有看到两个按钮。
  • 他们在那里。不是彼此相邻,而是向下滚动列表,您应该也会看到一个新按钮
  • 查看您所看到内容的屏幕截图会有所帮助。

标签: c# .net language-agnostic visual-studio-2012 windows-phone-8


【解决方案1】:

我尽量不花费大量宝贵的开发时间来试图弄清楚为什么微软决定在开发环境中实现一个默认映像而不是另一个映像的所有原因。作为开发人员,我有责任准确地选择我希望程序的外观和感觉。

SDK 捆绑了许多标准图标可供选择。

C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Icons\

此外,以下是人们创建自己的自定义应用程序栏的方法。另一种按钮图标方法是继续使用标准的add.png 图像作为New 按钮,如果确实需要在同一个应用程序栏上同时使用两种类型的操作,则使用check.png 图像作为Add 按钮.

public partial class MyPage : PhoneApplicationPage
{
    public MyPage()
    {
        InitializeComponent();

        BuildApplicationBar();
    }

    private void BuildApplicationBar()
    {
        // Set the page's ApplicationBar to a new instance of ApplicationBar.    
        ApplicationBar = new ApplicationBar();

        ApplicationBar.Mode = ApplicationBarMode.Default;
        ApplicationBar.IsVisible = true;
        ApplicationBar.Opacity = 1.0;
        ApplicationBar.IsMenuEnabled = true;

        // Create new buttons
        ApplicationBarIconButton AppBarAddButton = new ApplicationBarIconButton(new Uri("/Assets/check.png", UriKind.Relative));
        AppBarAddButton.Text = "Add";
        AppBarAddButton.Click += new EventHandler(AppBarAddButton_Click);
        ApplicationBar.Buttons.Add(AppBarAddButton);

        ApplicationBarIconButton AppBarNewButton = new ApplicationBarIconButton(new Uri("/Assets/add.png", UriKind.Relative));
        AppBarNewButton.Text = "New";
        AppBarNewButton.Click += new EventHandler(AppBarNewButton_Click);
        ApplicationBar.Buttons.Add(AppBarNewButton);
    }

    private async void AppBarAddButton_Click(object sender, EventArgs e)
    {
        //TODO: Do something for the add click action
    }

    private async void AppBarNewButton_Click(object sender, EventArgs e)
    {
        //TODO: Do something for the new click action
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    相关资源
    最近更新 更多