我正在使用MVVM加载文本文件并显示其内容。
模型
MyFile.cs
有Name
和Text
//实现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?
答案 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} />