【发布时间】:2011-10-14 19:42:59
【问题描述】:
我很难通过 XAML 将我的 List 类型的属性绑定到我的组合框。
public List<string> MyProperty { get; set; }
以下 XAML 绑定不起作用:
<ComboBox Name="cboDomainNames" ItemsSource="{Binding Path=MyProperty}"/>
但是下面的赋值:
cboDomainNames.ItemsSource = MyProperty;
完美运行。我在这里缺少什么?
【问题讨论】:
-
ComboBox 的 DataContext 是否正确?
-
是的,该属性在视图中(我的应用程序是 MVP-PRISM-WPF)并且我已设置 DataContext= this;还有更多 ItemSource 的代码分配工作!通过 xaml 没有!
-
我想我成功了!我的 DataContext 已设置!但是它是在 InitializeComponent() 之后设置的,认为这可能是问题。然后就通过xaml实现了am绑定!当视图在加载后准备就绪时(即在 _presenter.OnViewReady() 上),该属性将被填充!因为它不是一个可观察的集合,所以没有任何东西被添加到组合框中!从我的代码后面指定它,因为当时数据存在于属性中!
-
@ioWint:请发布一个答案,解释问题所在以及如何修复它,并通过答案左侧的复选标记接受。
-
@HB 我在评论中发布了答案!我不知道如何将其标记为答案!
标签: c# wpf xaml data-binding combobox