我有一个UserControl
,其中包含ListBox
作为唯一的孩子。我想将ItemsSource
的{{1}}属性暴露给外部,所以我定义了这个依赖属性:
ListBox
我现在想将此绑定到我的public static readonly DependencyProperty ItemsSourceProperty =
DependencyProperty.Register("ItemsSource", typeof(IEnumerable), typeof(RadioButtonListBox), new PropertyMetadata(null));
public IEnumerable ItemsSource {
get { return (IEnumerable)GetValue(ItemsSourceProperty); }
set { SetValue(ItemsSourceProperty, value); }
}
:
ListBox
当我尝试在设计器中执行此操作时,<ListBox ItemsSource="{Binding ItemsSource, ElementName=myUserControl}" ... />
按钮显示为灰色,当我检查OK
并以此方式输入绑定时,我会看到一个对话框:Custom
那么我如何实现这一点,另外还有很多代码背后的管道?
这是我目前使用的黑客:
Cannot bind ItemsSource of ListBox to the items property of an ItemsControl
提供了简单名称ListBox
我正在使用这段代码:
listBox
虽然这有效,但我认为它很丑陋并且想要一种纯粹的MVVM方式。
潜在的downvoters的旁注:如果你愿意,请随意这样做,但如果你让我知道你决定的原因,我会很高兴。谢谢!