2011-06-30 13 views
1

HyperLink.ClickイベントセットTextBox.IsFocusedをtrueに設定します。私はmvvmを使用しています。私はViewでコードビハインドを避けるためにintrestされていますので、HyperLink.Clickイベントのイベントハンドラがないソリューションを探しています。 Commmandを設計する必要がありますが、プロパティーIsFocusedIsKeyboardFocusedIsKeyboardFocusWithinは読み取り専用です...解決策を見つけました。CommandParameter={Binding ElementName=MyTextBox}を設定できます。しかし、このように私のICommandの実装はUI要素を取得します。 MVVMパターンでUI要素をCommandParameterとして取得するのは許されますか? Viewコードビハインドなしでこれを実現する別の方法はありますか?イベントハンドラなしでTextBoxにフォーカスを設定する方法

答えて

2

添付動作を作成して、UIElementにフォーカスを設定します。 see here on how to create behaviors

AssociatedObjectのViewModelのIsFocuedプロパティにAttachedBehaviorをバインドさせる。 viewmodelは(のviewmodelでいくつかのコマンドによって)trueにIsFocusedプロパティを変更するたびに

は、添付の動作は、データバインディングを通じて知るようになるだろうし、UIElementに()フォーカスを呼び出します。

関連する問題