可以使用不同于绑定“项目”的TextBox的绑定文本?

时间:2017-02-23 14:49:27

标签: c# .net wpf xaml mvvm

XAML

<TextBox  Text="{Binding SelectedKey.Name}" />

我想将SelectedKey的实例绑定到TextBox,但将属性SelectedKey.Name显示为文本。

这怎么可能?我找不到像“DataBoundItem”这样的TextBox属性。

1 个答案:

答案 0 :(得分:2)

如果DataContext的{​​{1}}有一个名为&#34; SelectedItem&#34;返回一个具有TextBlock属性的对象,你可以绑定到后者的SelectedKey属性,如下所示:

Name

如果要绑定到<TextBox Text="{Binding SelectedItem.SelectedKey.Name}" /> 中当前所选项目的SelectedKey属性,例如ItemsControl,则可以使用ListBox结合:

ElementName

如果您需要任何进一步的帮助,请阅读:

How to create a Minimal, Complete, and Verifiable example

  

我找不到像#34; DataBoundItem&#34;这样的TextBox属性。

<ListBox x:Name="listBox1" ... /> <TextBox Text="{Binding SelectedItem.SelectedKey.Name, ElementName=listBox1}" /> 没有任何&#34; DataBoundItem&#34;属性。它有一个TextBox属性,用于在Text中显示文本,基本上就是这样。

TextBox继承的所有控件都具有类型为FrameworkElement的{​​{1}}属性,您可以绑定任何您想要的属性。你可以使用这个:

Tag