Hallo zusammen,
ich habe ein WPF Datagrid für welches ich ein ContentTemplate in der App.xaml
definiert habe, dieses sieht vereinfacht so aus:
<Style TargetType="DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel HorizontalAlignment="Stretch" Orientation="Vertical">
<TextBox x:Name="txtHeader" />
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
Nun möchte ich auf das TextChange Event dieser TextBox reagieren.
Kann mir jemand einen Tip geben wie ich auf diese TextBox im CodeBehind zugreiffen kann?
Wenn ich von einer Column im Datagrid das HeaderTemplate aufrufe ist dieses immer null.
Danke für eure Hilfe
CyberHunter
Hallo CyberHunter,
Wahrscheinlich ist das Template noch nicht geladen. Versuch mal vor dem Zugriff auf das Template
dataGridColumn.ApplyTemplate();
aufzurufen.
Dann die TextBox über FindName ermitteln:
var textBox = dataGridColumn.Template.FindName("txtHeader", dataGridColumn) as TextBox;
Gruß, toolsche