Binden Sie den Hintergrund (Farbe) für die gesamte Zeile eines telerik:GridViewDataControl WPF-Steuerelement
Habe ich die folgende Klasse:
public class ErrorMessage
{
public enum Severity { Error, Warning}
public ErrorMessage(Severity severity, string description)
{
this.severity = severity;
this.description = description;
}
public Severity severity { get; set; }
public string description { get; set; }
public string background
{
get
{
switch (this.severity)
{
case Severity.Error: return "Red";
case Severity.Warning: return "Yellow";
default: throw new Exception("severity out of bounds");
}
}
}
}
Und ich bin verbindlich, eine Liste von Fehlermeldung zu einem telerik GridViewDataControl WPF-Steuerelement:
<telerik:GridViewDataControl Margin="0" telerik:StyleManager.Theme="Office_Silver" Name="errorsGridView" AutoGenerateColumns="False" CanUserSortColumns="False" IsFilteringAllowed="False" ShowGroupPanel="False">
<telerik:GridViewDataControl.Columns>
<telerik:GridViewDataColumn IsReadOnly="True" UniqueName="{x:Null}" Header="Severity" DataMemberBinding="{Binding severity}" />
<telerik:GridViewDataColumn IsReadOnly="True" UniqueName="{x:Null}" Header="Description" DataMemberBinding="{Binding description}" />
</telerik:GridViewDataControl.Columns>
</telerik:GridViewDataControl>
Ich würde gerne die komplette Hintergrundfarbe der Zeilen gebunden zu sein, durch die ErrorMessage.background-Eigenschaft. Wie mache ich das? Vielen Dank im Voraus!
InformationsquelleAutor Stephen Swensen | 2010-09-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere Methode ist die Verwendung eines RowStyle, hat Bindung aus Ihrer Klasse. Um zu vermeiden, dass du irgendwelche converter oder sogar ein Ereignis, ändern Sie Ihre ErrorMessage code so etwas wie dieses:
Und dann fügen Sie diese Ressource:
Und auf RadGridView:
Etwas anderen Ansatz, aber es gerade getestet und es funktioniert definitiv. 🙂
Für Silverlight, müssen Sie etwas machen, wie dieser post sagt:
Für Silverlight, die Sie tun können, die Bindung innerhalb der RowStyle-element:
<telerik:RadGridView.RowStyle><Style TargetType="telerik:GridViewRow"><Setter Property="Background" Value="{Binding Background}" /></Style></telerik:RadGridView.RowStyle>
InformationsquelleAutor Evan Hutnick