2

Visual Studio に同じアイコンが 2 つあるのはなぜですか?

次のように入力します。

<shell:ApplicationBarIconButton Text="new document" IconUri="" />プロパティ ペインを開き、ApplicationBarIconButton 要素の ComboBox を開くと、このコーム ボックスにaddボタンとnewボタン アイコンがあることがわかります。両方のアイコンを見ると、同じものです。

しかし、なぜ?

コンテキストでは、new と add の両方が異なる意味を持ち、異なるアクションを実行できることを知っています。

たとえば、New は新しいドキュメントを作成できますがadd、現在開いているドキュメントに何かを添付/追加できます。

しかし、それが理由である場合、アプリケーションバーアイコンのデフォルト状態は、...右下をタップしない限りアイコンのテキストが表示されないように設定されているため、混乱を招く可能性があるため、両方のアイコンが異なるはずです。画面の。そのため、ApplicationBar メニューに追加ボタンと新規ボタンの両方がある場合、デフォルトの状態では非常に混乱する可能性があり、ユーザーはどのボタンがどれであるかを確認するためだけにメニューを開く必要があります。そもそもメニューバーのテキストを非表示にするという目的に反するものはありませんか?

4

1 に答える 1

0

Microsoft が開発環境で 1 つの既定のイメージを別のイメージよりも優先して実装することを決定した理由について、すべての理由を解明しようとして貴重な開発時間を費やすことはないようにしています。プログラムのルック アンド フィールを正確に選択するのは、開発者としての私の責任です。

SDK にバンドルされている多数の標準アイコンから選択できます。

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

さらに、独自のカスタム アプリケーション バーを作成する方法を次に示します。add.png別のボタン アイコン アプローチの 1 つは、ボタンに標準の画像を引き続き使用し、同じアプリケーション バーに両方のタイプのアクションを含める必要がある場合は、ボタンに画像をNew使用することです。check.pngAdd

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
    }
}
于 2013-07-12T22:31:19.283 に答える