2

TreeViewにデータバインドされたTextBoxがあります。選択した要素が変更されると、TextBoxにその名前が表示されます。選択が変更された場合は、フォーカスをTextBoxに設定し、TextBox内のテキストを選択します。

これはWPFでのみ可能であり、いつ、どのように可能ですか?
(ツリービュー「OnSelectionChange」のイベントには問題はありませんが、それは問題ではありません;-))

<TextBox Name="textBoxTitel" DataContext="{Binding ElementName=treeView, Path=SelectedItem}" />
4

1 に答える 1

2

組み込みの機能のみを使用してXAMLで実行することはできません。結局、コードを書く必要がありますが、ソースファイルの名前の付け方に実際には何の違いもありません。ただし、分離コードファイルにコードを含める必要のないソリューションをスケッチします。

TriggerActionMyActionから独自のクラスを派生させます。ツリービューのスタイルにイベントトリガーとしてを追加します。定義する適切な依存関係プロパティにバインドすることにより、フォーカスを設定してテキストボックスのテキストを選択するように指示します。MyActionTreeview.SelectedItemChangedMyAction

<ns:MyAction FocusControl="{Binding ElementName=textBox}" SelectAll="True" />

少なくともコードは再利用可能になります。

于 2011-03-25T02:04:20.630 に答える