これが可能かどうかはわかりませんが、次のように設定します。
ホットキーの選択のみを処理するためのカスタマイズされたテキストボックスがあります。ここに私はのDependencyProperty
ためのものがありSelectedHotKey
ます。
次に、ラベル、テキストボックス、およびボタンであるカスタムコントロールがあります。このコントロールは、TextBoxと同じ名前のを公開し、DependencyProperty
次の方法でTextBoxに接続するだけです。
SelectedHotKey="{Binding ElementName=Main, Path=SelectedHotKey, Mode=TwoWay}"
この依存関係プロパティを使用して、テキストボックスのSelectedHotKeyを設定しようとしています。これにより、Text
適切に変更されます。
次に、そのユーザーコントロールを使用して、ViewModelにバインドします。
初期化の場合を除いて、これはすべて機能しています。
ViewModelがすでに設定されていて、バインディングでUserControlに渡されている場合、その初期セッターはヒットすらしないため、コントロールを介して伝播されません。PropertyMetaDataメソッドを挿入することを考えましたが、これは静的メソッドであり、インスタンスのテキストボックスにアクセスできません。
何か案は?さらに明確にする必要がある場合はお知らせください。