La liaison arrière-plan (couleur) pour l'ensemble de la ligne de telerik:GridViewDataControl contrôle WPF
J'ai la classe suivante:
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");
}
}
}
}
Et je suis de la liaison d'une Liste de ErrorMessage à un telerik GridViewDataControl contrôle WPF:
<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>
Je voudrais l'ensemble de la couleur d'arrière-plan de chaque ligne à être lié par le ErrorMessage.arrière-plan de la propriété. Comment dois-je faire? Merci à l'avance!
OriginalL'auteur Stephen Swensen | 2010-09-10
Vous devez vous connecter pour publier un commentaire.
Une autre méthode consiste à utiliser un RowStyle qui a de la liaison à partir de votre classe. Pour éviter d'avoir à utiliser un convertisseur de ou encore un événement, changer votre ErrorMessage code à quelque chose comme ceci:
Puis ajouter cette ressource:
Et sur RadGridView:
Approche légèrement différente, mais juste testé et cela fonctionne bien. 🙂
Pour Silverlight, vous aurez besoin de faire quelque chose comme ce que ce post dit: blogs.msdn.com/b/delay/archive/2009/11/02/...
Pour Silverlight, vous pouvez faire la liaison à l'intérieur de la RowStyle élément:
<telerik:RadGridView.RowStyle><Style TargetType="telerik:GridViewRow"><Setter Property="Background" Value="{Binding Background}" /></Style></telerik:RadGridView.RowStyle>
OriginalL'auteur Evan Hutnick