将文本绑定到组合框中的所选项目

致托雷斯

我在数据库上有一个文本字段,但是现在我不希望它成为一个自由的开放字段,我想将其限制为:假设A,B和C。

为此,我想使用一个组合框。

问题:鉴于组合框的项目是在XAML中定义的,我如何将所选项目绑定到字符串属性?

XAML:

 <ComboBox SelectedValue="{Binding Path=MyProperty}"> <!-- Not working-->
   <ComboBoxItem>A</ComboBoxItem>
   <ComboBoxItem>B</ComboBoxItem>
   <ComboBoxItem>C</ComboBoxItem>
 </ComboBox>

班级:

public Class MyClass:INotifyPropertyChanged
{
private string myProperty;
public string MyProperty
{
 get{return myProperty;}
 set{
      myProperty=value;
      OnPropertyChanged("MyProperty");
    }
 }
}

因此,用户将更改所选项目,并且新值将在数据绑定对象上更新。

编辑:感谢注释和答案,我部分解决了问题,唯一的问题是程序启动时组合框选择为空。我这样解决了:

<ComboBox SelectedValuePath="Content">
 <ComboBoxItem>A</ComboBoxItem>
 <ComboBoxItem>B</ComboBoxItem>
 <ComboBoxItem>C</ComboBoxItem>
  <ComboBox.SelectedValue>
   <Binding Path="MyProperty" Mode="TwoWay"/>
  </ComboBox.SelectedValue>
 </ComboBox>

我将选定的值部分移出了“组合框”的属性,并使用了属性元素sintax,这确保了在使用之前定义了集合。

Myermian

WpfComboBox具有三个选择属性和一个显示属性:

  • SelectedItem
  • SelectedValue
  • SelectedValuePath
  • DisplayMemberPath

使用时,SelectedValue还应该设置SelectedValuePath(几乎总是)。要了解的是Items,您的案例中包含对象的序列(ItemCollection),ComboBoxItem就像其他任何对象一样,您必须指定SelectedValuePath要绑定到(read属性);在这种情况下,您要访问ComboBoxItem.Content属性(http://msdn.microsoft.com/zh-cn/library/system.windows.controls.contentcontrol.content(v=vs.110).aspx)。

<ComboBox SelectedValue="{Binding Path=MyProperty}" SelectedValuePath="Content">
  <ComboBoxItem>A</ComboBoxItem>
  <ComboBoxItem>B</ComboBoxItem>
  <ComboBoxItem>C</ComboBoxItem>
</ComboBox>

现在,您将使用所选项目的属性SelctedValueMyProperty属性绑定到该属性Content,该属性恰好是您要查找的字符串。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从枚举绑定的 wpf 组合框中查找所选项目

将所选项目绑定到对话框

将列表框中所选项目的内容显示到文本框中

WPF将DataGrid组合框所选项绑定到所选DataGridRow的datacontext

在组合框中获取所选项目

组合框中的所选项目消失

将按钮绑定到所选项目

组合框所选项目

组合框:以 mvvm 方式获取文本和所选项目

从组合框中获取所选项目或输入文本的最佳方法

C# - 从更改组合框所选项目将 SQL 数据拉到文本框/标签

在组合框中设置所选项目-vb.net

将文本框作为文本绑定到组合框

使用python tkinter将键单击绑定到树中的所选项目

获取组合框所选项目

从组合框获取所选项目

未在文本框中显示所选项目

根据另一个类的组合框中的所选项目启用标签和文本字段

从文本框值 + 数据库连接更改组合框所选项目

将组合框所选项目作为参数值传递给Winform C#中的类函数

将组合框项目绑定到枚举字典

WPF Textblock文本不会在组合框所选项目上动态更改

JavaFX:样式组合框弹出列表的文本颜色和所选项目的颜色?

使用ReactiveUI绑定到组合框中的选定项目

WPF 组合框中所选项目的模板与复合集合中的项目不同

在组合框所选项目中访问分配的变量项目

Delphi-如何将枚举器类型的项目绑定到ComboBox并将所选项目绑定到对象

如何在组合框中设置所选项目并在txtfield中设置等效值

在组合框中eclipse插件所选项目的获取值