WPF formatiert global einen TextBlock in einem DataGrid
Ich stoße auf ein sehr seltsames Problem. Ich versuche, globales Anreden auf einige Kontrollen innerhalb eines anzuwendenDataGrid
. Die meisten von ihnen funktionieren genau so, wie ich es erwarten würde. Das Styling für dieTextBlock
wird nie angewendet. Styles fürComboBox
, TextBox
, Label
und einige andere werden auf ihre jeweiligen Steuerelemente angewendet, aber nicht auf dieTextBlock
. Ich habe den Code so weit wie möglich vereinfacht und das Problem ist immer noch vorhanden. Ich habe das folgende Codebeispiel bereitgestellt.
Ich brauche den Stil, um ihn auf die anzuwendenTextBlock
und ich möchte es nicht manuell auf die anwenden müssenTextBlock
.
<DataGrid ItemsSource="{Binding Data}" AutoGenerateColumns="False">
<DataGrid.Resources>
<Style TargetType="TextBlock">
<Setter Property="ANY_TEXTBLOCK_PROPERTY" Value="VALUE" />
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Test">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="Globably Applied" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
Mehr Informationen:
Globale Stile für andere Steuerelemente alsTextBlock
(TextBox
, ComboBox
usw.) funktionieren einwandfrei.Definieren des globalen Stils inDataTemplate
wird richtig funktionieren.Direktes Zuweisen des Stils zuTextBlock
mit einemx:Key
wird funktionieren.Globale Stile fürDataGridCell
mitTextElement.PROPERTY
wird angewendet auf aTextBlock
.Während einige von diesen den Stil erhalten, der auf das angewendet wirdTextBlock
Sie haben dort eigene Probleme. Direktes Zuweisen des Stils oder Definieren des Stils innerhalb vonDataGridColumn
Das bedeutet, dass ich den Stil mehr als einmal anwenden muss. Verwendung derTextElement.PROPERTY
auf derDataGridCell
wird den Stil auf mehr als nur anwendenTextBlock
steuert und begrenzt die Anzahl der Eigenschaften, die Sie festlegen können.