【发布时间】:2010-08-20 09:46:06
【问题描述】:
我创建了一个包含单个组合框的自定义 UserControl。组合框中当前选定的值绑定到自定义 UserControls 依赖属性。
XAML:
<UserControl>
<ComboBox
ItemsSource="{Binding AllEntries}"
SelectedItem="{Binding SelectedEntry}" />
</UserControl>
后面的代码:
public partial class MyCombobox : UserControl
{
public static DependencyProperty SelectedEntryProperty =
DependencyProperty.Register("SelectedEntry",
typeof(ComboboxEntry),
typeof(MyCombobox));
public ComboboxEntry SelectedEntry
{
get { return (ComboboxEntry)GetValue(SelectedEntryProperty); }
set { SetValue(SelectedEntryProperty, value); }
}
}
现在的问题是另一个组件包含这个扩展的组合框控件。在包含控件中,当用户在组合框中选择一个新值时,我想运行一些逻辑。我对如何设置那个钩子有点迷茫。 MyCombobox 必须公开一个从 SelectedEntry 依赖属性中的 PropertyChanged 回调触发的自定义事件吗?看起来很老套,但我想不出另一种方法。
【问题讨论】:
标签: c# wpf xaml dependency-properties