WPF ウィンドウに ListView があり、すべてを選択するボタンがあります。最初に、リストビュー内のすべてのアイテムを選択するボタンを取得するにはどうすればよいですか。
次に、選択したすべてのアイテムを確認するには、ViewModel が必要です。ViewModel でこの情報を取得するにはどうすればよいですか?
IsSelected プロパティを使用してこれを行うことができると読みましたが、ローカル プロパティがバインド プロパティをオーバーライドするバグがあるため、以前に選択されている場合は、再度選択されているようには見えません。複雑なようです。この問題を調べているブログ
次に、このブログData binding to selected itemsを読みましたが、これも非常に複雑に見えます。
それが複雑である必要があるかどうか、そしてそれらの例が前進する唯一の方法であることを知りたいです.
XAML:
<ListView Name="sources_ListView" Grid.RowSpan="1" ItemsSource="{Binding Path=Sources}">
<ListView.View>
<GridView>
<GridViewColumn Width="290" Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=OriginalPath}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="80" Header="Type">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Type}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
<Button Grid.Row="0" Grid.Column="0" Content="Select All" Name="selectAllSources_Button" Margin="3" />
<Button Grid.Row="0" Grid.Column="1" Content="Deselect All" Name="deselectAllSources_Button" Margin="3" />
<Button Grid.Row="0" Grid.Column="3" Content="Remove Selected" Name="removeSelected_Button" Margin="3" Width="100" HorizontalAlignment="Right" />