在WPF中以编程方式设置来自动态组合框的动态文本框的数据绑定

凯文·埃尔南德斯

这部分有效。

在我的C#.NET WPF XAML中,我有一个静态的ComboBox和一个静态的TextBox。TextBox显示同一DataTable中的另一列(在ComboBox的ItemSource中)。列“ rr_code”是公司名称列,列“ rr_addr”是地址列。

<ComboBox x:Name="CompanyComboBox1" IsEditable="True" IsTextSearchEnabled="True" IsSynchronizedWithCurrentItem="False"/>
<TextBox x:Name="StreetTextBox1" DataContext="{Binding SelectedItem, ElementName=CompanyComboBox1}" Text="{Binding rr_addr}" IsManipulationEnabled="True"\>

ComboBox以编程方式从DataTable中的列读取:

 CompanyComboBox1.ItemsSource = Rails.DefaultView; // Rails is a DataTable
 CompanyComboBox1.DisplayMemberPath = "rr_code"; // column name for company name

这部分不起作用

问题是,我现在有一个“添加公司”按钮,该按钮可以在StackPanel中动态地并具有此确切功能来创建新表单ComboBox完全按预期工作。这是我到目前为止的内容:

ComboBox companyComboBox = new ComboBox();
companyComboBox.ItemsSource = Rails.DefaultView;
companyComboBox.IsEditable = true;
companyComboBox.IsTextSearchEnabled = true;
companyComboBox.DisplayMemberPath = "rr_code";

问题出在TextBox中,当我更改动态companyComboBox时它不会更新,因此我确定它与绑定有关。

TextBox streetTextBox = new TextBox();
streetTextBox.DataContext = companyComboBox;
Binding b = new Binding("rr_addr");
b.Mode = BindingMode.Default;
b.Source = companyComboBox.SelectedItem;
streetTextBox.SetBinding(ComboBox.SelectedItemProperty, b);

为TextBox streetTextBox设置绑定的正确方法是什么?

凯文·埃尔南德斯

在纯C#中,此特定XAML + C#数据绑定的等效代码为:

ComboBox companyComboBox = new ComboBox();
companyComboBox.ItemsSource = Rails.DefaultView;  // Rails being DataTable
companyComboBox.IsEditable = true;
companyComboBox.IsTextSearchEnabled = true;
companyComboBox.DisplayMemberPath = "rr_code";

Binding b = new Binding("SelectedItem.rr_addr");  // The selected item's 'rr_addr' column ...
b.Source = companyComboBox;                       // ... of the companyComboBox ...

TextBox streetTextBox = new TextBox();    
streetTextBox.SetBinding(TextBox.TextProperty,b); // ... is bound to streetTextBox's Text property.

错误在最后一行。SetBinding需要具有目标而不是源的属性。另外,绑定声明需要“ SelectedItem”。因为某些原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

动态文本框绑定

来自分类Dev

在WPF中动态添加文本框

来自分类Dev

来自动态创建的文本框的实时反馈

来自分类Dev

在 C# 中更改文本框的 Text 属性后,WPF 将绑定动态设置回原始状态

来自分类Dev

来自文本框的动态文本刷新

来自分类Dev

在WPF应用程序中以编程方式设置文本框的颜色

来自分类Dev

通过绑定动态添加文本框

来自分类Dev

自动完成动态生成的文本框

来自分类Dev

为表中的动态文本框设置类验证

来自分类Dev

从文本框中动态获取文本

来自分类Dev

如何从动态文本框中检索数据?

来自分类Dev

在WPF中绑定文本框

来自分类Dev

在jQuery中动态添加文本框

来自分类Dev

在HTML中动态添加文本框

来自分类Dev

在PowerPoint中动态填充文本框

来自分类Dev

Shiny 中的动态文本框列表

来自分类Dev

使用绑定以编程方式填充文本框

来自分类Dev

来自动态ul按钮单击事件的文本框值

来自分类Dev

来自动态ul按钮单击事件的文本框值

来自分类Dev

jQuery自动完成文本框以编程方式设置值

来自分类Dev

动态将文本框添加到C#.net中的数据绑定复选框列表

来自分类Dev

WPF:如何使文本框具有动态大小,但又不能自动调整大小?

来自分类Dev

动态删除文本框

来自分类Dev

动态插入文本框

来自分类Dev

如何在WPF中为两个文本框网格动态设置字体大小

来自分类Dev

wpf中的数据绑定组合框

来自分类Dev

WPF 中的组合框数据绑定

来自分类Dev

动态创建文本框元素并绑定不同的模型

来自分类Dev

动态创建的文本框未绑定到模型