将组合框中所选对象的属性绑定到WPF中的TextBox

时间:2012-09-17 00:19:37

标签: wpf mvvm binding combobox textbox

我正在使用MVVM加载文本文件并显示其内容。

模型

MyFile.csNameText //实现INotifyPropertyChanged

MyFileRepository.cs //我加载的文件集合

视图模型

OpenFileCommand加载文件并将其添加到_filerepository对象

与视图绑定的

FileCollection

查看

Button解雇OpenCommand

ComboBox显示已加载文件的名称

TextBox在combobx中显示所选文件的内容

<Button Name="OpenFile" Command="{Binding OpenFileCommand}">
<ComboBox  Name="FilesList" ItemsSource="{Binding Path=FileCollection}" DisplayMemberPath="Name" />
<TextBox Name="FileContent" Text="{Binding the Text of selected file in combobx "/>

如何将在combobx中选择的MyFile的Text属性绑定到TextBox?

2 个答案:

答案 0 :(得分:7)

最简单的方法是元素绑定:

<TextBox Name="FileContent"
         Text="{Binding SelectedItem.Text,ElementName=FilesList} />

因此,它绑定到FilesList ComboBox中SelectedItem的Text属性,如果所有内容都按照我认为的方式连接,则为MyFile类型。

答案 1 :(得分:0)

如果没有元素绑定,您可以将属性“SelectedItem”(类型:MyFile)添加到VM并将其绑定到组合框的SelectedItem属性(mode = twoway)。 现在您的TextBox.Text-Property应该如下所示:

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