4

これは些細な初心者の質問かもしれません。Windows および Silverlight アプリに関するかなりの関連情報を見つけましたが、直接役立つものは何もありませんでした。C# と XAML でWindows Phone 8.1/WinRT アプリを作成しています。XAML で作成されたアプリケーション バーをプログラムで変更したいと考えています。たとえば、コード ビハインドでプリプロセッサ ディレクティブを使用して、デバッグ ビルドのみに含めたいボタンがあります。

次の XAML コードでは、2 つのボタンを持つ BottomAppBar を作成しています。コード ビハインドのすべてのプロパティを含む 2 番目のボタン (AppBarAddSampleItemsButton) を作成するにはどうすればよいですか?

<prism:VisualStateAwarePage.BottomAppBar>
    <CommandBar >
        <CommandBar.PrimaryCommands>
            <AppBarButton x:Uid="AppBarNewItemButton"
                          Label="New item"
                          Icon="Add" Command="{Binding GoToAddItemPageCommand}" />
        </CommandBar.PrimaryCommands>
        <CommandBar.SecondaryCommands>
            <AppBarButton x:Uid="AppBarAddSampleItemsButton"
                          Label="Add sample items"
                          Command="{Binding GoToAddSampleItemssPageCommand}" />
        </CommandBar.SecondaryCommands>
    </CommandBar>
</prism:VisualStateAwarePage.BottomAppBar>
4

2 に答える 2

7

コード ビハインドでAppBarButtonを作成し、現在のPageのBottomAppBarに追加するサンプル コードを次に示します。

private void AddButtonToAppBar()
{
    AppBarButton buttonToAdd = new AppBarButton { Label = "Label", Icon = new SymbolIcon(Symbol.Help) };
    buttonToAdd.Click += async (sender, e) =>  await new MessageDialog("Button clicked").ShowAsync();
    // add button to Page's BottoAppBar
    (BottomAppBar as CommandBar).PrimaryCommands.Add(buttonToAdd);
}

編集- Bindingに関しては (これも私の頭の上からなので、これを確認する必要があります)、これはおそらくうまくいくはずです:

Binding myBind = new Binding();
myBind.Path = new PropertyPath("GoToAddSampleItemssPageCommand");
myBind.Source = DataContext;
buttonToAdd.SetBinding(AppBarButton.CommandProperty, myBind);

MSDN の DataBinding の詳細。

于 2014-10-07T12:44:57.680 に答える
0

Windows Phone デベロッパー センターを調べたところ、次のページが見つかりました: How to change app bar icon buttons and menu items dynamic for Windows Phone . それが役に立てば幸い!

于 2014-10-07T12:33:36.287 に答える