2011-02-04 1 views
1

からバウンドコントロールを見つけます。は、私はBindingから継承するカスタムバインディング・クラスを作ったバインディング

これらのイベントをセットアップするには、PreviewKeyDownとPreviewLostKeyboardFocusに直接アクセスする必要があります。

しかし、バインディングを使用してフレームワーク要素にアクセスするにはどうすればよいですか。これはできますか?

私はKeyboard.FocusedElementを試しましたが、telerikのradnumericupdownを使用すると、バインディングバインドと同じ要素ではない可能性があります。

+0

あなたのサンプルは私には意味がありません。

は、私たちはMarkupExtensionをバインドカスタムの初期サンプルコードを持って、あなたはここでターゲットコントロールへのアクセスを得るためにProvideValueをオーバーライドする方法を考えています。達成しようとしていることを説明できますか?また、ブレークポイント+オブジェクトの選択とSHIFT + F9を押すことは、デバッグ情報(つまり、どのオブジェクトがSourceか何かにバインドされているかどうかを確認する)に最適です。 :) –

答えて

0

私はXamlでバインディングを設定していると思いますが、そうでなければ、適用されているコントロールインスタンスでカスタムBindingクラスを構築できます。

私たちはこれと同様の問題を抱えていました。私たちがやったことは、MarkupExtensionから継承したカスタムBindingExtensionを作成することでした。その後、Xamlの通常のBindingの代わりにその値を使用します。 {helpers:Binding}の代わりに{Binding}を使用してください。これは、MarkupExtensionが(ProvideValueで)初期化するときにバインドされた依存関係オブジェクトにアクセスできるようになります。コントロールプロパティを設定し、必要に応じてイベントをフックしたり、通常の代わりにカスタムBindingクラスを作成したりできます1つは、それがバインドされているコントロールへのハンドルを与えます。 http://www.hardcodet.net/2008/04/wpf-custom-binding-class

+0

私は少し遅れて答えます。私はあなたの返事を使用しました - しかし、これを認めないことを完全に忘れました..ありがとう! – iakob

関連する問題