2011-07-20 13 views
1

フォームフィールドとボタンのコレクションであるSilverlightアプリケーションがあります。Silverlight DataContextオブジェクトからデータを取り出す方法

私はxaml.cs.でクリックイベントを処理するメソッドスタブを作成しました。デバッグ中に送信者を調べると、基本タイプがTextBlockで、そのテキストブロック内のDataContextオブジェクトにカスタムタイプのプロパティが表示されます。そのうちの一つは、GUIDである - これは、送信者のタイプですので、私はのTextBlockにキャストし、私はDataContextのを見ることができますが、私は、このオブジェクトのうち、私のタイプのフィールドの値を取得する方法がわからない:

private void someTextField_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) 
    { 

     var dataContext = (TextBlock) sender; 
     var assetGUID = dataContext.DataContext./
     // intellsense does not show any fields, indexers, or getters - Just says "Get or Set datacontext fields in a datacontext". 

    } 

として私がデバッグし、送信者に時計を置く場合は、2つのレベルの深さに行く私は私のオブジェクトのフィールドを見ることができます。

ありがとうございました。

答えて

4

デバッグモードで、TextBlockのDataContextが必要なObjectであることがわかったら、オブジェクトにキャストするだけで済みます。

あなたがこれを行う必要があり
private void someTextField_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) 
    { 

     var dataContext = (TextBlock) sender; 
     var assetGUID = ((YourObject)dataContext.DataContext).getGuid()/
     // intellsense does not show any fields, indexers, or getters - Just says "Get or Set datacontext fields in a datacontext". 

    } 

、DataContextのは、戻り値オブジェクト(DataContext

で定義されているため、これは何が必要ですか?

BR、

TJ

関連する問題