Ich möchte ein RowValidationErrorTemplate zu einem DataGrid mit C# -Code hinzufügen (d. H. Nicht in XAML). Die entsprechende XAML:Wie fügt man RowValidationErrorTemplate dynamisch zu einem DataGrid hinzu?
<DataGrid.RowValidationErrorTemplate>
<ControlTemplate>
<Grid Margin="0,-2,0,-2"
ToolTip="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridRow}}, Path=(Validation.Errors)[0].ErrorContent}">
<Ellipse StrokeThickness="0" Fill="Red" Width="{TemplateBinding FontSize}"
Height="{TemplateBinding FontSize}" />
<TextBlock Text="!" FontSize="{TemplateBinding FontSize}"
FontWeight="Bold" Foreground="White" HorizontalAlignment="Center" />
</Grid>
</ControlTemplate>
</DataGrid.RowValidationErrorTemplate>
Wenn Sie den Grund für diese frage mich, hier ist meine Situation:
- ich mehrere Usercontrols haben, die von einem CS-Code erben.
- Jeder Usercontrol enthält eine Datagrid, die hat: RowValidationErrorTemplate, Eventhandler, Validierungsmethoden, ... etc.
ich die Eventhandler auf die Basisklasse bewegt, jetzt suche ich eine Möglichkeit, den letzten Teil meines Validierungscodes in die Basisklasse zu verschieben.
Warum nicht Ihre eigene Kontrolle zu schaffen, die von Datagrid erbt? – Isma
@Isma, meinst du XAML-Vererbung? Dies ist ein sehr komplexes Thema, das ich zu vermeiden versuche. Deshalb erben meine UserControls von .cs Code. –