Строки, которые не видны на экране, не будут удалены, чтобы их можно было покрасить, используя этот метод, поскольку они виртуализированы и фактически не существуют. В стиле ниже им обязывающего к свойству IsRed превратить строки между красным и их цвета по умолчанию (поставить это в ресурсов из с DataGrid на нем)
<Style
TargetType="{x:Type dg:DataGridRow}"
BasedOn="{StaticResource {x:Type dg:DataGridRow}}">
<Style.Triggers>
<DataTrigger
Binding="{Binding ElementName=self, Path=IsRed}"
Value="True">
<Setter
Property="Background"
Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
У меня есть свойство зависимости от моей формы называется IsRed, это также может быть любое имущество, которое реализует INotifyPropertyChanged (свойства зависимостей оповещать об их изменениях)
public Boolean IsRed {
get { return (Boolean)GetValue(IsRedProperty); }
set { SetValue(IsRedProperty, value); }
}
// Using a DependencyProperty as the backing store for IsRed. This enables animation, styling, binding, etc...
public static readonly DependencyProperty IsRedProperty =
DependencyProperty.Register("IsRed", typeof(Boolean), typeof(Window1), new UIPropertyMetadata(false));
то в моем XAML у меня есть заявление на верхней
<Window
x:Class="Grids.Window1"
x:Name="self">
что означает, что я могу сослаться на него с именем элемента связывания (метод я найти полезным)
С кодом, как ив изложил все ваши нажатия кнопки придется делать бы
private void Button_Click(object sender, RoutedEventArgs e) {
IsRed = !IsRed;
}
Можете ли вы привести пример этой модели ViewModel? Я все еще нехорошо, когда дело доходит до связывания свойств. – KenNY
http://sites.google.com/site/wpfprojects/ загрузите пример цветных строк и отметьте этот вопрос как ответ. там могут быть и другие проекты, которые вам могут понравиться, а также –
+1 для орфографии, окрашенной с помощью «u», о, и спасибо за пример. – Grokodile