2009-11-23 15 views
7

私のSilverlight 3ユーザーコントロール私は基本的なDataGridコントロールを表示しています。次のようにDataGridの列ヘッダーでDataContextを設定する方法

Style headerStyle = (Style)Resources["ColumnHeaderStyle"]; 
DataGridTextColumn col = new DataGridTextColumn(); 
col.HeaderStyle = headerStyle; 
dataGrid.Columns.Add(col); 

スタイルが定義されています:私は次のようにプログラム的を列を生成に必要

<Style x:Name="ColumnStyle" x:Key="ColumnHeaderStyle" 
     TargetType="prim:DataGridColumnHeader"> 
    <Setter Property="ContentTemplate"> 
     <Setter.Value> 
      <DataTemplate> 
       <StackPanel Loaded="StackPanel_Loaded"> 
        <TextBlock Text="{Binding Name}" /> 
        <TextBlock Text="{Binding Data}" /> 
       </StackPanel> 
      </DataTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

私はに「ヘッダ」オブジェクトにヘッダのデータコンテキストを設定したいです(DataTemplateで参照される「名前」および「データ」プロパティを使用)。残念ながら、elsewhereのようにStackPanel_Loadedイベントを使用することはできません。なぜなら、ユーザーが列のドラッグを開始するときにイベントハンドラが呼び出されるからです。&ドロップ操作です。

DataGridの列ヘッダーのDataContextを設定する正しい方法は何ですか?

答えて

関連する問題