2

MVVMを使用して、テキストファイルをロードし、そのコンテンツを表示しています。

モデル

MyFile.csNameおよびText//INotifyPropertyChangedを実装します

MyFileRepository.cs//ロードしたファイルのコレクション

ViewModel

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にバインドするにはどうすればよいですか?

4

2 に答える 2

7

最も簡単なアプローチは、要素のバインドです。

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

これは、FilesList ComboBoxのSelectedItemのTextプロパティにバインドされます。これは、(すべてが私が思うように接続されている場合)MyFileタイプです。

于 2012-09-17T00:48:03.890 に答える
0

要素をバインドせずに、プロパティ「SelectedItem」(タイプ:MyFile)をVMに追加し、それをコンボボックスのSelectedItemプロパティにバインドできます(mode = twoway)。これで、TextBox.Text-Propertyは次のようになります。

<TextBox Name="FileContent"
         Text="{Binding SelectedItem.Text} />
于 2012-09-17T08:32:18.710 に答える