我在尝试通过 XAML 将我的 List 类型的属性绑定(bind)到我的组合框时遇到困难。
public List<string> MyProperty { get; set; }
以下 XAML 绑定(bind)不起作用:
<ComboBox Name="cboDomainNames" ItemsSource="{Binding Path=MyProperty}"/>
但是下面的赋值:
cboDomainNames.ItemsSource = MyProperty;
完美运行。我在这里缺少什么?
最佳答案
回贴我的评论以标记答案。
我的 DataContext 已设置,但它是在 InitializeComponent() 之后设置的。我认为这可能是问题所在。然后我意识到,当我通过 xaml 进行绑定(bind)时,当加载 View 时,绑定(bind)发生在空属性上。
当 View 在加载后准备就绪时(即在 _presenter.OnViewReady() 上),该属性将被填充。由于它不是可观察的集合,因此不会向组合框中添加任何内容。从我背后的代码中指定它是有效的,因为那时数据存在于属性中。
关于c# - WPF 数据绑定(bind)组合框到列表<string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6854308/