リストビュー複数選択シナリオをAppBarと一緒に実装するための簡単な方法は何ですか?複数の項目が選択されたとき(Windowsの右クリックなど)は、Windows 8の起動画面と同じように動作します。ListViewとAppBarの協力です。シンプルな複数選択シナリオ
最初に選択したリストビューアイテムと一緒にアプリケーションバーを表示したい場合は、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;
}
ありがとうございましたJan!私はちょうどこの正確な問題を扱っていて、IsSticky = trueとIsOpen = trueの割り当ての順番を変更することで、それも私のために修正されました。 –