2 回答

TA貢獻2019條經(jīng)驗 獲得超9個贊
如果沒有完整的工作示例,就不容易給出完整的工作示例。
您可以使用其他方法解決您的問題。
你IndustryFilters不應(yīng)該是ObservableCollection<IndustryFilter>這樣的對象的實例:
public class IndustryFilters : INotifyPropertyChanged {
private _isAllChecked;
public IsAllChecked {
get {return _isAllChecked;}
set{
_isAllChecked = value;
foreach(var filter in Filters) {
filter.IsChecked = value;
}
PropertyChanged(...);
}
}
public ObservableCollection<IndustryFilter> Filters
{
get { return _industryFilters; }
set
{
_industryFilters = value;
PropertyChanged(this, new propertyChangedEventArgs("IndustryFilters"));
}
}
}
然后將IsCheckedof綁定<CheckBox x:Name="allIndustry">All</CheckBox> 到IsAllChecked屬性。
然后,您必須找到一種方法將 ComboBox 的來源更改為 IndustryFilters.Filters。
希望這可以幫助。

TA貢獻2041條經(jīng)驗 獲得超4個贊
這是 State 過濾器的 ViewModel 屬性定義 - 與我詢問的 Industry 字段相同:
private ObservableCollection<StateFilter> _stateFilters;
public ObservableCollection<StateFilter> StateFilters
{
get { return _stateFilters; }
set
{
_stateFilters = value;
PropertyChanged(this, new PropertyChangedEventArgs("StateFilters"));
}
}
private bool _stateFilter;
public bool StateFilter
{
get { return _stateFilter; }
set
{
_stateFilter = value;
ObservableCollection<StateFilter> local = new ObservableCollection<StateFilter>();
foreach (var filter in StateFilters)
{
filter.IsChecked = _stateFilter;
local.Add(filter);
}
StateFilters = local;
PropertyChanged(this, new PropertyChangedEventArgs("StateFilter"));
}
}
這是 XAML 代碼示例:
資源:
組合框:
<ComboBox Text="Select State" TextSearch.TextPath ="State" Name="state" IsEditable="True" IsReadOnly="True" >
<ComboBox.ItemsSource>
<CompositeCollection>
<ComboBoxItem >
<CheckBox Name="all" IsChecked="{Binding StateFilter}">All</CheckBox>
</ComboBoxItem>
<CollectionContainer Collection="{Binding Source={StaticResource stateSource}}"/>
</CompositeCollection>
</ComboBox.ItemsSource>
<ComboBox.ItemTemplate>
<DataTemplate>
<CheckBox Name="chkTask" IsChecked="{Binding IsChecked}" Content="{Binding State}" ></CheckBox>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
- 2 回答
- 0 關(guān)注
- 576 瀏覽
添加回答
舉報