【发布时间】:2019-12-14 20:31:08
【问题描述】:
我有一个多选组合框用户控件和一个依赖属性“SelectedItems”。 我正在尝试使用用户控件并将“SelectedItems”绑定到我的 ViewModel 中名为“SelectedResultItems”的另一个属性。但我没有得到 SelectedResultItems 的任何值。请帮忙
这是我尝试过的。
我的主要 xaml:
<DataTemplate x:Key="TypeATemplate">
<control:MultiSelectComboBox Width="315" ItemsSource="{Binding
ResultvalueList,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
SelectedItems="{Binding
SelectedResultItems,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
我的 Combobox 用户控件代码在后面:
public static readonly DependencyProperty SelectedItemsProperty =
DependencyProperty.Register("SelectedItems",
typeof(ObservableCollection<string>), typeof(MultiSelectComboBox), new
FrameworkPropertyMetadata(null,new
PropertyChangedCallback(MultiSelectComboBox.OnSelectedItemsChanged)));
public ObservableCollection<string> SelectedItems
{
get { return
(ObservableCollection<string>)GetValue(SelectedItemsProperty); }
set
{
SetValue(SelectedItemsProperty, value);
}
}
我在点击复选框时设置“SelectedItems”。
我的主视图模型:
public ObservableCollection<string> SelectedResultItems
{
get => _selectedResultItems;
set
{
_selectedResultItems = value;
NotifyPropertyChanged(nameof(SelectedResultItems));
}
}
【问题讨论】:
-
在
OnSelectedItemsChanged回调中,您是否在新集合实例上注册了一个CollectionChanged 事件处理程序。例如,像这样:stackoverflow.com/a/15023687/1136211 -
不,我没有那样做。
标签: wpf data-binding combobox dependency-properties