1 回答
TA贡献1773条经验 获得超3个赞
我简化了您的用户控件,使其更具可读性,并且只关注工作的外部命令。我修改命令的绑定。在列表中,您获得了项目的本地数据上下文,但需要将命令绑定到外部数据上下文。
<ComboBox ItemsSource="{Binding ElementName=UserControl, Path=ItemsSource}">
<ComboBox.ItemTemplate>
<HierarchicalDataTemplate>
<CheckBox Content="{Binding .}"
Click="CheckBox_Click"
Command="{Binding ElementName=UserControl,Path=YourCommand}">
</CheckBox>
</HierarchicalDataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
在 UserControl1.cs 中我得到:
public ICommand YourCommand
{
get { return (ICommand)GetValue(YourCommandProperty); }
set { SetValue(YourCommandProperty, value); }
}
// Using a DependencyProperty as the backing store for YourCommand. This enables animation, styling, binding, etc...
public static readonly DependencyProperty YourCommandProperty =
DependencyProperty.Register("YourCommand", typeof(ICommand), typeof(UserControl1), new PropertyMetadata(null));
我测试过,它对我有用。
- 1 回答
- 0 关注
- 70 浏览
添加回答
举报