0
我遇到問題。當我檢查SelectAllCheckBox時,ListView中的所有複選框列被選中。但是當我取消選中一行復選框時,SelectAllCheckBox仍然被選中。如果取消選中某一行,如何取消選中SelectAllCheckBox?第二個問題是在選中SlectAllCheckBox時如何突出顯示ListView行?取消選中SelectAll如果其中一行未選中
我的XAML
<Window.Resources>
<DataTemplate x:Key="CheckBoxCell">
<StackPanel Orientation="Horizontal">
<CheckBox Name="chk" IsChecked="{Binding Path=IsSelected,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
<StackPanel Name="Panel1" >
<StackPanel Grid.IsSharedSizeScope="True">
<CheckBox Name="SelectAllCheckBox" Margin="5">Select All</CheckBox>
</StackPanel>
<ListView Name="ListView1" Background="#f8f8FF" BorderThickness="0"
ItemsSource="{Binding Path={}}" Visibility="Visible" Height="Auto"
GridViewColumnHeader.Click="GridViewColumnHeaderClickedHandler"
IsSynchronizedWithCurrentItem="True"
VerticalContentAlignment="Center" FontFamily="Tahoma" FontSize="12"
Grid.IsSharedSizeScope="False" >
<ListView.View>
<GridView AllowsColumnReorder="True" ColumnHeaderContainerStyle="{StaticResource HeaderStyle}">
<GridViewColumn CellTemplate="{StaticResource CheckBoxCell}" Width="30"/>
<GridViewColumn ... />
<GridViewColumn ... />
<GridViewColumn ... />
</GridView>
</ListView.View>
</ListView>
</StackPanel>
和代碼背後
Private Sub ListView1_SelectionChanged(ByVal sender As Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs) Handles ListView1.SelectionChanged If ListView1.SelectedItems.Count > 0 Then For i As Integer = 1 To ListView1.SelectedItems.Count Dim TestDataRow As System.Data.DataRowView TestDataRow = ListView1.SelectedItems(i - 1) Next End If End Sub
你問了同樣的問題兩次#3562968。請刪除其他問題。 – Zamboni 2010-09-05 15:53:24