2016-12-09 12 views
-1

コード内のバインディングプロパティの「パス」値を取得するにはどうすればよいですか?コードの背後にあるBinding.pathを取得する方法(wpfプロジェクト)

私はデバッガでBinding.Pathを見ることができますが、私は値を得ることができませんprogrammaticaly。

debugger view

+2

はどうなりますか?あなたはヌルになる?例外?いくつかのコードを入力してください。 – Kilazur

+0

"e.Column.ClipboardContentBinding.Path"のようにバインディングパスプロパティにアクセスしようとしましたが、 "e.Column.ClipboardContentBinding"オブジェクトのプロパティ "Path"はありません。 – m2c

答えて

0

あなたはSystem.Windows.Data.BindingにBindingBaseからClipboardContentBindingプロパティをキャストすることができます:あなたが値を得ることができないとき

System.Windows.Data.Binding binding = e.Column.ClipboardContentBinding as System.Windows.Data.Binding; 
if(binding != null) 
{ 
    string path = binding.Path.Path; 
} 
+0

ありがとう、これは解決策です。 (しかし、私はなぜ "ClipboardContentBinding"を "System.Windows.Data.Binding"型にキャストしなければならないのか分かりません。 – m2c

+0

ClipboardContentBindingプロパティは、Bindingの基本クラスであるBindingBaseとして定義されています。つまり、クラスのパブリックAPIは、BindingBaseから派生した具象型を公開しません。デバッガは、実際のタイプのプロパティをメモリに表示します。 – mm8

関連する問題