【发布时间】:2017-02-23 14:49:27
【问题描述】:
XAML
<TextBox Text="{Binding SelectedKey.Name}" />
我想将SelectedKey 的实例绑定到一个文本框,但将属性SelectedKey.Name 显示为文本。
这怎么可能?我找不到像“DataBoundItem”这样的 TextBox 属性。
【问题讨论】:
-
您遇到任何错误吗?你试过什么?
XAML
<TextBox Text="{Binding SelectedKey.Name}" />
我想将SelectedKey 的实例绑定到一个文本框,但将属性SelectedKey.Name 显示为文本。
这怎么可能?我找不到像“DataBoundItem”这样的 TextBox 属性。
【问题讨论】:
如果TextBlock 的DataContext 有一个名为“SelectedItem”的属性,该属性返回一个具有SelectedKey 属性的对象,您可以像这样绑定到后者的Name 属性:
<TextBox Text="{Binding SelectedItem.SelectedKey.Name}" />
如果您想绑定到当前在ItemsControl 中选择的项目的SelectedKey 属性,例如ListBox,您可以使用ElementName 绑定:
<ListBox x:Name="listBox1" ... />
<TextBox Text="{Binding SelectedItem.SelectedKey.Name, ElementName=listBox1}" />
如果您需要任何进一步的帮助,请阅读以下内容:
How to create a Minimal, Complete, and Verifiable example
我找不到像“DataBoundItem”这样的 TextBox 属性。
TextBox 没有任何“DataBoundItem”属性。它有一个Text 属性,用于在TextBox 中显示文本,基本上就是这样。
从FrameworkElement 继承的所有控件都有一个Tag 类型的object 属性,你可以绑定任何你想要的东西。你可以用这个:
<TextBox Text="{Binding SelectedKey.Name}" Tag="{Binding SelectedKey}" />
【讨论】: