Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF как обновить значения в DataGrid без "тормозов"? / 5 сообщений из 5, страница 1 из 1
02.02.2010, 09:08
    #36443566
Frolls
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF как обновить значения в DataGrid без "тормозов"?
Здравствуйте!
Имеется датагрид, в котором порядка 300 строк и 20 столбцов. При программном изменении значения в какой-либо ячейке, датагрид приходится перерисовывать (Items.Refresh()), иначе изменения не отображаются. Но это прилично притормаживает работу программы((. Подскажите пожалуйста, как это можно исправить, может, я что-то делаю не так?..

С уважением, =[Frolls]=
...
Рейтинг: 0 / 0
02.02.2010, 11:55
    #36444033
WPFdev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF как обновить значения в DataGrid без "тормозов"?
Frolls,

Попробуйте у объекта данных реализовать интерфейс:
Код: plaintext
System.ComponentModel.INotifyPropertyChanged

Код: plaintext
1.
2.
3.
4.
5.
6.
            public event PropertyChangedEventHandler PropertyChanged;

            private void OnPropertyChanged(string propertyName)
            {
                if (PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
...
Рейтинг: 0 / 0
02.02.2010, 14:36
    #36444616
Out
Out
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF как обновить значения в DataGrid без "тормозов"?
Или для ItemsSource использовать ObservableCollection
...
Рейтинг: 0 / 0
03.02.2010, 07:50
    #36446112
Frolls
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF как обновить значения в DataGrid без "тормозов"?
Спасибо большое!! Сделал все, как Вы советовали (реализовал интерфейс и у ItemsSource использовал ObservableCollection), - Заработало!!

С уважением, =[Frolls]=
...
Рейтинг: 0 / 0
11.02.2010, 14:43
    #36463350
Frolls
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF как обновить значения в DataGrid без "тормозов"?
У меня одного DataGrid притормаживает при скроллинге? При анимации?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
<Window.Resources>
	<Style TargetType="{x:Type Custom:DataGridRow}">
		
	
		<Setter Property="Control.FontSize" Value="24" />
		<Setter Property="Control.Foreground" Value="Blue" />
		<Setter Property="Control.HorizontalAlignment" Value="Center" />
		
		<!-- Триггеры -->
		<Style.Triggers>
			<Trigger Property="Control.IsMouseOver" Value="True">
				<Setter Property="Control.FontStyle" Value="Italic" />
			</Trigger>
			<DataTrigger Binding="{Binding Path=IsError}" Value="True">
			<Setter Property="Control.Background" Value="Red" />
				<DataTrigger.EnterActions>
            <BeginStoryboard>
              <Storyboard>
                <DoubleAnimation
                 Storyboard.TargetProperty="Opacity"
                 From="0.5" To="1" Duration="0:0:0.2" 
                 RepeatBehavior="Forever"
                 AutoReverse="True"/>
              </Storyboard>
            </BeginStoryboard>
          </DataTrigger.EnterActions>
          <DataTrigger.ExitActions>
            <BeginStoryboard> 
              <Storyboard FillBehavior="Stop">
                <DoubleAnimation
                  Storyboard.TargetProperty="Opacity"
                  To="1" Duration="0:0:0.2" />
              </Storyboard>
            </BeginStoryboard>  
          </DataTrigger.ExitActions>
			</DataTrigger>
		</Style.Triggers>
	</Style>
</Window.Resources>

Пробовал менять не прозрачность, а Foreground и анимацию делать по ключевым кадрам. Все-равно жутко тормозит (до 80% грузит проц). И еще заметил особенность, что анимация цвета шрифта со временем пропадает, если подольше скроллить

С уважением, =[Frolls]=
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF как обновить значения в DataGrid без "тормозов"? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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