powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / DataGrid (WPFToolkit) + Раскраска строк
10 сообщений из 10, страница 1 из 1
DataGrid (WPFToolkit) + Раскраска строк
    #36932764
Alex Shulg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Засовываю в DataGrid список ObservableCollection<MyItem>, где MyItem - класс .NET. Хочу изменить цвет фона строк в зависимости от конкретного свойства (Type) класса MyItem
Код: plaintext
1.
2.
3.
4.
5.
public class MyItem
{
    public MyItemType Type { get; set; }
    public bool IsType1 { get { return Type == MyItemType.Type1; } }
    ...
}
XAML:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    <toolkit:DataGrid.RowStyle>
        <Style TargetType="{x:Type toolkit:DataGridRow}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsType1}" Value="True">
                    <Setter Property="Background" Value="LightGreen" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </toolkit:DataGrid.RowStyle>
Проблема в том, что ДатаГрид раскрашивается как я хочу, НО... Если я меняю в датагриде у строки поле Type, то она не перерисовывается с новым фоном.
Вопрос: почему и как лечить?
Пробовал разными способами заставить датагрид перерисоваться - не помогает... Неужели надо реализовывать свойство Type (IsType1) как DependencyProperty? Или дело в другом?
Заранее благодарю.
...
Рейтинг: 0 / 0
DataGrid (WPFToolkit) + Раскраска строк
    #36932955
Alex Shulg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин... А вот так все заработало:
Код: plaintext
1.
2.
                <DataTrigger Binding="{Binding Type}" Value="Type1">
                    <Setter Property="Background" Value="LightGreen" />
                </DataTrigger>
...
Рейтинг: 0 / 0
DataGrid (WPFToolkit) + Раскраска строк
    #36964758
irazor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex ShulgВсем привет!

Засовываю в DataGrid список ObservableCollection<MyItem>, где MyItem - класс .NET. Хочу изменить цвет фона строк в зависимости от конкретного свойства (Type) класса MyItem
Код: plaintext
1.
2.
3.
4.
5.
public class MyItem
{
    public MyItemType Type { get; set; }
    public bool IsType1 { get { return Type == MyItemType.Type1; } }
    ...
}
XAML:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    <toolkit:DataGrid.RowStyle>
        <Style TargetType="{x:Type toolkit:DataGridRow}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsType1}" Value="True">
                    <Setter Property="Background" Value="LightGreen" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </toolkit:DataGrid.RowStyle>
Проблема в том, что ДатаГрид раскрашивается как я хочу, НО... Если я меняю в датагриде у строки поле Type, то она не перерисовывается с новым фоном.
Вопрос: почему и как лечить?
Пробовал разными способами заставить датагрид перерисоваться - не помогает... Неужели надо реализовывать свойство Type (IsType1) как DependencyProperty? Или дело в другом?
Заранее благодарю.

Потому что надо так:

Код: plaintext
1.
2.
3.
4.
5.
public class MyItem
{
    public MyItemType Type { get; set; }
    public bool IsType1 { get { return Type == Type1; } }
    ...
}
...
Рейтинг: 0 / 0
DataGrid (WPFToolkit) + Раскраска строк
    #36964800
irazor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, скорее так, если для MyItemType корректно определен оператор равенства:

Код: plaintext
1.
2.
3.
4.
5.
public class MyItem
{
    public MyItemType Type { get; set; }
    public bool IsType1 { get { return this.Type == MyItemType.Type1; } set {} }
    ...
}
...
Рейтинг: 0 / 0
DataGrid (WPFToolkit) + Раскраска строк
    #36964896
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
irazorСорри, скорее так, если для MyItemType корректно определен оператор равенства:

Код: plaintext
1.
2.
3.
4.
5.
public class MyItem
{
    public MyItemType Type { get; set; }
    public bool IsType1 { get { return this.Type == MyItemType.Type1; } set {} }
    ...
}


Уважаемый, irazor, ответ совершенно нетрезвый. Еще будут варианты?
...
Рейтинг: 0 / 0
DataGrid (WPFToolkit) + Раскраска строк
    #36965220
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INotifyPropertyChanged
...
Рейтинг: 0 / 0
DataGrid (WPFToolkit) + Раскраска строк
    #36965320
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
Это уже даже MCУ осилил
...
Рейтинг: 0 / 0
DataGrid (WPFToolkit) + Раскраска строк
    #36965391
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если модератор всё же читает это сообщение, то от всей души объявляю ему строгий выговор с занесением в грудную клетку, причём с ноги, за то, что не выполняет свои обязанности, и даже напротив - занимается разведением троллей (фермером заделался).
После модератора, ту же медаль передаю администратору (причём дважды) - за то, что не контролирует работу модераторов.

Ощущение такое, что выше обозначенные объекты сами учавствуют в сраче, либо прутся от него.
...
Рейтинг: 0 / 0
DataGrid (WPFToolkit) + Раскраска строк
    #36966110
irazor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К,

приму к сведению. Однако, почему же у ТС заработало для свойства Type?
...
Рейтинг: 0 / 0
DataGrid (WPFToolkit) + Раскраска строк
    #36966403
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irazorОднако, почему же у ТС заработало для свойства Type?Бог ему судья.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / DataGrid (WPFToolkit) + Раскраска строк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]