0

WP 8 カレンダー アプリには、以下に示すような「To-Do リスト」セクションがあります。ここで Pivot コントロールを使用していることは明らかです。

ここに画像の説明を入力

ただし、「選択」ボタンをクリックすると、「削除」アクティビティを実行するためにチェックできるアイテムのリストを含む新しい画面が表示されます。

ここに画像の説明を入力

ユーザーが「選択」ボタンをクリックすると、正確に何が起こっていますか?

  1. ユーザーは新しいページに移動していますか (画像 2)

また

  1. 他の 2 つのピボット項目 (日、議題) は無効になり、「削除」アクティビティを実行するためにチェックできる項目のリストを反映するように UI が更新されますか。

アプリに同じ動作を実装したいと考えています。前もって感謝します。

4

3 に答える 3

2

@IvanCrojachKaračićは良い答えを出しました。

実行時にアプリ バーのボタンを動的に変更する場合は、次のようにします。

<phone:PhoneApplicationPage.Resources>
  <shell:ApplicationBar x:Key="appbar1"
                        IsVisible="True">
    <shell:ApplicationBarIconButton x:Name="abMain1"
                                    IconUri="/icons/appbar.favs.addto.rest.png"
                                    Text="blabla1" />
  </shell:ApplicationBar>

  <shell:ApplicationBar x:Key="appbar2"
                        IsVisible="True">
    <shell:ApplicationBarIconButton x:Name="abMain2"
                                    IconUri="/icons/appbar.favs.addto.rest.png"
                                    Text="blabla2" />
    <shell:ApplicationBarIconButton x:Name="abMain3"
                                    IconUri="/icons/appbar.cancel.rest.png"
                                    Text="blabla3" />
  </shell:ApplicationBar>
</phone:PhoneApplicationPage.Resources>

そして、コードから変更します:

 ApplicationBar = (Microsoft.Phone.Shell.ApplicationBar) Resources["appbar1"];

 ApplicationBar = (Microsoft.Phone.Shell.ApplicationBar) Resources["appbar2"];

多数の異なるAppBars. その助けを願っています。

于 2013-04-12T14:41:58.403 に答える
1

私がすることは、このようなものを持っているだけです

<StackPanle>
    <Checkbox Visibility={Binding SomeProperty} IsChecked={Binding SomethingElse}/>
    <Label Content={Binding SomeOtherProperty}/>
</StackPanel>

ボタンをクリックして、SomeProperty を から に切り替えるだけVisibility.VisibleですVisibility.CollapsedSomethingElseいずれかのアイテムのプロパティがチェックされている場合はDelete、 、Move、などの他のボタンを有効にするだけです。Foo

編集:実行時に可視性を変更できなかった理由はわかりません。ビューモデルの可視性プロパティを変更する基準を明確に定義してください。

下部のアイコンを変更するには、次のようにする必要があります

public partial class YourView
{
    private ApplicationBarIconButton _icon;
    public YourView()
    {
          _icon = (ApplicationBarIconButton)ApplicationBar.Buttons[0];
    }

    public void Foo()
    {
        if (SomeSavedState)
        {
            _icon.IconUri = new Uri("somePicture.png", UriKind.Relative);
            _icon.Text = "Delete";
        }
        else
        {
            _icon.IconUri = new Uri("someOtherPicture.png", UriKind.Relative);
            _icon.Text = "Select";
        }
    }
}
于 2013-04-12T07:55:47.110 に答える
0

LongListMultiSelector を使用してプロパティ IsSelectionEnabled を true に設定するだけで、ツールキット要素になります。

于 2013-06-08T15:06:48.667 に答える