Wie DataContext auf eine DataGrid-Spalte-Header

In meinem Silverlight 3 user control zeige ich eine grundlegende DataGrid Kontrolle. Ich muss erzeugen der Spalten programmgesteuert wie folgt:

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

Stil ist wie folgt definiert:

<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>

Möchte ich den Daten-Kontext der Kopfzeile, um eine "header" - Objekt (mit "Name" und "Daten" - Eigenschaften, die auf die in der DataTemplate). Ich kann leider nicht verwenden die StackPanel_Loaded Ereignis wie vorgeschlagen anderswo, weil der event-handler wird auch aufgerufen, wenn der Benutzer beginnt, eine Spalte per drag&drop-operation.

Was ist die richtige Art der Einstellung der DataContext des DataGrid-Spalte-header?

Schreibe einen Kommentar