gpt4 book ai didi

wpf - 如何在 XAML 中设置 ComboBox DataContext?

转载 作者:行者123 更新时间:2023-12-04 05:33:59 25 4
gpt4 key购买 nike

我正在尝试理解 Binding,所以我想出了一个非常简单的程序来尝试和测试它。

我的 MainWindow 中有以下元素:

<ComboBox Name="comboBox1" ItemsSource="{Binding}" />

在我的代码中,我有以下可观察的集合:
public ObservableCollection<string> ComboItems = new ObservableCollection<string>();

我可以在运行时的任何时候以这种方式成功添加项目:
comboBox1.DataContext = ComboItems;
ComboItems.Clea();
ComboItems.Add("Item");

我的问题是,我怎样才能在 XAML 中设置 DataContext,这样我就不必在代码中这样做了?可能吗?

谢谢!

最佳答案

常见的是:

<Window DataContext="{Binding RelativeSource={RelativeSource Self}}">
<ComboBox ItemsSource="{Binding ComboItems}" .../>

然而通常你想注入(inject)另一个对象实例为 DataContext。 ,以 MVVM 模式为例。 WPF 中的属性为 inherited ,所以 ComboBoxDataContextWindow ,但它可以在任何级别被覆盖。

注意:为了使绑定(bind)起作用 ComboItems必须是公共(public)属性(property),而不是字段。

感兴趣的资源:
  • Data Binding Overview
  • Data Templating Overview
  • Depedency Properties Overview
  • 关于wpf - 如何在 XAML 中设置 ComboBox DataContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12200853/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com