【问题标题】:Bound text of a TextBox different to bound "item" possible?与绑定“项目”不同的文本框的绑定文本可能吗?
【发布时间】:2017-02-23 14:49:27
【问题描述】:

XAML

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

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

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

【问题讨论】:

  • 您遇到任何错误吗?你试过什么?

标签: c# .net wpf xaml mvvm


【解决方案1】:

如果TextBlockDataContext 有一个名为“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}" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2011-03-06
    • 2010-10-05
    • 2012-11-23
    • 2011-03-29
    • 1970-01-01
    • 2014-06-23
    相关资源
    最近更新 更多