Jat*_*tin 10 wpf xceed wpf-extended-toolkit
我正在尝试使用Xceed CheckComboBox,除了一个小问题之外它运行良好.最初加载CheckComboBox时,CheckComboBox的ToggleButton部分中正确显示所选项List,但不检查表示这些项的复选框.这是我正在使用的代码
XAML
<xctk:CheckComboBox x:Name="_combo" Grid.Row="2" Grid.Column="1"
ItemsSource="{Binding RoomFacilities}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
DisplayMemberPath="FacilityName"
SelectedItemsOverride="{Binding SelectedFaclities}"
/>
Run Code Online (Sandbox Code Playgroud)
查看模型
public class RoomBandUpdateViewModel : Screen, IHandle<RecordChanged<RoomFacility>>,
IHandle<RecordDeleted<RoomFacility>> {
private ObservableCollection<RoomFacility> _roomFacilities;
public ObservableCollection<RoomFacility> RoomFacilities {
get { return _roomFacilities; }
set { _roomFacilities = value; NotifyOfPropertyChange(() => RoomFacilities); }
}
private ObservableCollection<RoomFacility> _selectedFacilities;
public ObservableCollection<RoomFacility> SelectedFaclities {
get { return _selectedFacilities; }
set { _selectedFacilities = value; NotifyOfPropertyChange(() => SelectedFaclities); }
}
protected override void OnActivate() {
SelectedFaclities = new ObservableCollection<RoomFacility>(RoomBand.Facilities);
RoomFacilities = new ObservableCollection<RoomFacility>(facilityService.GetAll());
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道为什么,当在视图模型中正确设置SelectedFacilities时,不会根据SelectedFacilities中的项目检查CheckComboBox的复选框.有趣的是,CheckComboBox的Toggle Button部分正确显示逗号分隔列表中的SelectedFacilities.
如果您将集合实例化到类的构造函数中,则该属性尚未绑定到您的组件,因此您的组件不会触发 ViewModel 的 PropertyChanged 事件。
可观察集合 Add() 方法不会触发 PropertyChanged 事件,但会触发 CollectionChanged 事件。
希望这对您有帮助
| 归档时间: |
|
| 查看次数: |
1433 次 |
| 最近记录: |