c# - WPF 数据绑定(bind)组合框到列表<string>

标签 c# wpf xaml data-binding combobox

我在尝试通过 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/

相关文章:

c# - 绑定(bind) WPF DataGrid 文本列的前景

xaml - Xamarin.Forms:无法访问文件夹中的图像

c# - 具有通用类型的 Caliburn Micro phonecontainer 注入(inject)服务,始终为 null

c# - 无法启动已配置的 Visual Studio 开发 Web 服务器

c# - .NET 4.5.2 代码会在 <4.5.2 机器上抛出异常吗?

c# - 获得焦点时突出显示 WPF 控件

c# - 在单例上使用 Dispose 来清理资源

c# - WPF 窗口 ShowDialog() 导致无法设置可见性或调用 Show

c# - 如何在每个wpf/MVVM组合框行上显示2个字符串?

wpf - 使用 EventTrigger 设置属性