【发布时间】:2014-02-26 00:20:17
【问题描述】:
我正在构建一个带有 Dependencyproperty 的自定义控件。我希望依赖属性成为我控件中容器的数据上下文。但是当我使用控件创建视图并绑定属性时,它不起作用。 代码示例:
public partial class MyControl : UserControl
{
public static readonly DependencyProperty MyItemsProperty =
DependencyProperty.Register("MyItems", typeof (ObservableCollection <object>), typeof (MyControl),
new PropertyMetadata (new ObservableCollection <object>()));
public ObservableCollection <object> MyItems
{
get { return (ObservableCollection <object> GetValue (MyItemsProperty); }
set { SetValue (MyItemsProperty, value); }
}
public MyControl()
{
InitializeComponent();
ControlItemHost.DataContext = MyItems;
}
}
在我的控件的 xaml 中,我有一个项目容器 (ControlItemHost)。
当我构建主视图并初始化属性时: MyItems="{绑定 ListOfItems}"
我看不到这些项目,但如果我添加 MyControl 项目,我会看到它们。 我该如何解决这个问题,以便我可以从控件外部绑定?
(属性必须是数据上下文)
【问题讨论】:
标签: c# dependency-properties datacontext