AppBarと一緒にリストビューの複数選択シナリオを実装する最も簡単な方法は何ですか?複数のアイテムを選択した場合(たとえば、マウスの右クリックで)、Windows8のスタート画面とまったく同じように動作するようにします。
最初に選択したリストビューアイテムと一緒にアプリバーを表示したい、2番目、3番目などで開いたままにしておきたい、アプリバーボタンアクション(実行されたコンテキストアクション)またはによって閉じたい他のシステム全体のアプリバーを閉じるアクション(たとえば、別の場所を右クリックすると、コンテキストアクションがキャンセルされます)。
私の現在の実装は複雑すぎます。私は何かを見逃したに違いないと思います-そのような基本的で一般的なシナリオは、標準化された方法で実装できる必要があります。
以下に用意されている足場コード。このコードのみを使用した場合、2番目のリストビューアイテムを右クリックする前にアプリバーが非表示になり、リストビューをもう一度右クリックする必要があります(受け入れられません)。IsStickyと組み合わせると、2番目のリストビューアイテムをまったく選択できなくなります。
<Page
x:Class="ListViewAndAppBar.ExamplePage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:ListViewAndAppBar"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
DataContext="{Binding ExamplePageViewModel, Source={StaticResource Locator}}">
<Grid Background="Gray">
<ListView
x:Name="ListView"
ItemsSource="{Binding Persons}"
SelectionMode="Multiple"
SelectionChanged="ListView_SelectionChanged">
</ListView>
</Grid>
<Page.BottomAppBar>
<AppBar x:Name="BottomAppBar" Padding="10,0,10,0">
<Button x:Name="BottomAppBarBack" Tag="Back" Style="{StaticResource BackAppBarButtonStyle}" HorizontalAlignment="Left" />
</AppBar>
</Page.BottomAppBar>
</Page>
private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
this.BottomAppBar.IsOpen = true;
//this.BottomAppBar.IsSticky = true;
}