如何选中checkedListBox wpfToolkit中的所有复选框
How to check all check boxes in checkedListBox wpfToolkit
我正在使用 wpfToolKit 中的 checkedListbox 控件,我想在按下按钮时选中列表中的所有复选框,但它不起作用。
Xaml
<xctk:CheckListBox Command="{Binding CheckBoxClickedCommand}"
ItemsSource="{Binding ChosenFiles, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="Name"/>
视图模型
public ObservableCollection ChosenFiles { get;放; }
型号
public class ChosenFile{
public string FullPath { get; set; }
public string Name { get; set; }
public bool IsChecked { get; set; }
}
我希望我的 checkedListbox 在我更改 IsChecked 时更新 属性 可以用这个控件完成吗?
这是您可以做到的方法
首先如下重新定义 'ChosenFile' class 以连接 INotifyPropertyChanged 接口
public class ChosenFile : INotifyPropertyChanged
{
private string _fullPath;
public string FullPath
{
get { return _fullPath; }
set
{
_fullPath = value;
OnPropertyChanged();
}
}
private string _name;
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged();
}
}
private bool _isChecked;
public bool IsChecked
{
get { return _isChecked; }
set
{
_isChecked = value;
OnPropertyChanged();
}
}
private void OnPropertyChanged([CallerMemberName] string propName = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
}
public event PropertyChangedEventHandler PropertyChanged;
}
Window.xaml
<Button Command="{Binding CheckBoxClickedCommand}" Width="100"> Check All</Button>
<xctk:CheckListBox ItemsSource="{Binding ChosenFiles}" DisplayMemberPath="Name" SelectedMemberPath="IsChecked" />
在后面的代码中,在 'CheckBoxClickedCommand' 执行方法中,执行此操作
foreach (var rec in ChosenFiles)
rec.IsChecked = true;
我正在使用 wpfToolKit 中的 checkedListbox 控件,我想在按下按钮时选中列表中的所有复选框,但它不起作用。
Xaml
<xctk:CheckListBox Command="{Binding CheckBoxClickedCommand}"
ItemsSource="{Binding ChosenFiles, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="Name"/>
视图模型
public ObservableCollection ChosenFiles { get;放; }
型号
public class ChosenFile{
public string FullPath { get; set; }
public string Name { get; set; }
public bool IsChecked { get; set; }
}
我希望我的 checkedListbox 在我更改 IsChecked 时更新 属性 可以用这个控件完成吗?
这是您可以做到的方法
首先如下重新定义 'ChosenFile' class 以连接 INotifyPropertyChanged 接口
public class ChosenFile : INotifyPropertyChanged
{
private string _fullPath;
public string FullPath
{
get { return _fullPath; }
set
{
_fullPath = value;
OnPropertyChanged();
}
}
private string _name;
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged();
}
}
private bool _isChecked;
public bool IsChecked
{
get { return _isChecked; }
set
{
_isChecked = value;
OnPropertyChanged();
}
}
private void OnPropertyChanged([CallerMemberName] string propName = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
}
public event PropertyChangedEventHandler PropertyChanged;
}
Window.xaml
<Button Command="{Binding CheckBoxClickedCommand}" Width="100"> Check All</Button>
<xctk:CheckListBox ItemsSource="{Binding ChosenFiles}" DisplayMemberPath="Name" SelectedMemberPath="IsChecked" />
在后面的代码中,在 'CheckBoxClickedCommand' 执行方法中,执行此操作
foreach (var rec in ChosenFiles)
rec.IsChecked = true;