【发布时间】:2012-01-20 15:15:39
【问题描述】:
我的 dot net 程序集的用户控件中有一个依赖属性(字符串列表),如下所示
public partial class ItemSelectionUserControl : UserControl
{
public List<string> AvailableItems
{
get { return (List<string>)this.GetValue(AvailableItemsProperty); }
set { this.SetValue(AvailableItemsProperty, value); }
}
public static readonly DependencyProperty AvailableItemsProperty = DependencyProperty.Register(
"AvailableItems", typeof(List<string>), typeof(ItemSelectionUserControl), new FrameworkPropertyMetadata{BindsTwoWayByDefault =true});
public ItemSelectionUserControl()
{
InitializeComponent();
}
}
我正在尝试在不同程序集中的另一个用户控件中使用此用户控件,如下所示
<UserControl
xmlns:ctrl="clr-namespace:HH.Windows.UserControls;assembly=HH.Windows.UserControls"
/>
// .....
<Grid>
<ctrl:ItemSelectionUserControl Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="3" AvailableItems="{Binding Path=CheckList}"/>
</Grid>
我可以看到 CheckList 的 get 访问器被调用,但它没有设置依赖属性“AvailableItems”。 “AvailableItems”集合中的断点永远不会被调用。我做错了什么?
【问题讨论】:
-
可能类型不匹配?有关如何调试 WPF 绑定的更多信息,请参阅here。
标签: c# wpf dependency-properties