列表视图复选框未获得更新

时间:2017-08-17 11:24:02

标签: c# wpf listview wpf-controls listviewitem

我有列表视图,当我选择/取消选择“全部”时,我有一个复选框“全部”,所有下面的“全部”复选框都被选中/取消选中。但如果列表很长,取消选择“全部”并不会取消选择以下所有项目。请查找代码并建议我是否遗漏了一些房产?

   <ListView BorderThickness="0" >
        <ListViewItem>
            <CheckBox Content="{x:Static resources:Resources.SelectAll}"
                      Height="20"
                      Margin="0"
                      VerticalContentAlignment="Center"
                      Click="checkBox_SelectAll_Click" >
                <CheckBox.Style>
                    <Style TargetType="CheckBox">
                        <Setter Property="IsChecked" 
                                Value="{x:Null}"/>
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding Path=IsAllSelected}"
                                         Value="true">
                                <Setter Property="IsChecked" 
                                        Value="True"/>
                            </DataTrigger>
                            <DataTrigger Binding="{Binding Path=IsNoneSelected}"
                                         Value="true">
                                <Setter Property="IsChecked" 
                                        Value="False"/>
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </CheckBox.Style>
            </CheckBox>
        </ListViewItem>
    </ListView>

    <ListView ItemsSource="{Binding Path=FilterItems}"
              MaxHeight="90"
              SelectionMode="Multiple"
              BorderThickness="0"
              ScrollViewer.HorizontalScrollBarVisibility="Hidden">

过滤项目代码。对于comboBox_FilterByBrand我想要选择/取消选择“ALL”才能工作。

         <telerik:RadSplitButton.DropDownContent>

                <StackPanel Margin="7"
                            Width="250"
                            Orientation="Vertical">

                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="Auto" />
                        </Grid.ColumnDefinitions>

                        <StackPanel Grid.Column="0" 
                                    Orientation="Horizontal">
                            <TextBlock Text="{x:Static resources:Resources.Filter}" 
                                       Foreground="DarkGray" />
                            <TextBlock Text="  ("
                                       Foreground="DarkGray" />
                            <TextBlock Text="{Binding Path=DisplayingCurrentCount}"
                                       Foreground="DarkGray" />
                            <TextBlock Text="/"
                                       Foreground="DarkGray" />
                            <TextBlock Text="{Binding Path=DisplayingTotalCount}"
                                       Foreground="DarkGray" />
                            <TextBlock Text=")"
                                       Foreground="DarkGray" />
                        </StackPanel>

                        <Button Name="button_ClearFilters"
                                Grid.Column="1"
                                Padding="0"
                                HorizontalAlignment="Stretch"
                                HorizontalContentAlignment="Left"
                                Content="{x:Static resources:Resources.ClearFilters}"
                                Foreground="DarkGray"
                                Background="Transparent"
                                BorderBrush="Transparent"
                                Style="{StaticResource ClearFilterButtonStyle}"
                                Command="{Binding ClearFiltersButtonCommand}" />

                    </Grid>
                    <Controls:FilterControl x:Name="comboBox_FilterByBrand"
                                            HasSeparator="True"
                                            Header="{x:Static resources:Resources.FilterByBrand}"
                                            Type="{x:Static resources:Constants.Filter_By_Brand}" 
                                            FilterItems="{Binding BrandFilterItems, IsAsync=True}"
                                            IsAllSelected="{Binding BrandFilterIsAllSelected, Mode=TwoWay}" 
                                            IsNoneSelected="{Binding BrandFilterIsNoneSelected, Mode=TwoWay}" 
                                            FilterChanged="{Binding FilterSelectionChangedCommand, IsAsync=True}"/>
                </StackPanel>

0 个答案:

没有答案
相关问题