Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Тормоза жуткие при изменении данных / 6 сообщений из 6, страница 1 из 1
17.02.2015, 17:02
    #38882043
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормоза жуткие при изменении данных
Код: xml
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.
39.
40.
41.
42.
43.
44.
45.
<ListView x:Name="lvTable" Width="400" HorizontalAlignment="Left"  Margin="0 5 0 0" VerticalAlignment="Stretch" 
                        DockPanel.Dock="Top" ItemsSource="{Binding Path=Data}" BorderThickness="0">
                <ListView.Resources>
                    <Style TargetType="GridViewColumnHeader">
                        <Setter Property="Visibility" Value="Hidden" />
                    </Style>
                    <Style TargetType="ListViewItem">
                        <Setter Property="TextElement.FontSize" Value="12" />
                    </Style>
                </ListView.Resources>
                <ListView.View>
                    <GridView x:Name="gv" ColumnHeaderToolTip="Actions" >
                        <GridView.ColumnHeaderContainerStyle>
                            <Style>
                                <Setter Property="TextElement.FontSize" Value="12" />
                                <Setter Property="TextElement.FontWeight" Value="Bold" />
                                <Setter Property="FrameworkElement.Visibility" Value="Collapsed"/>
                            </Style>
                        </GridView.ColumnHeaderContainerStyle>
                        <GridViewColumn>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Grid>
                                        <Image Width="16" Height="16" Source="{Binding PlanetIcon}"/>
                                        <TextBlock Foreground="Black"  FontWeight="Bold"  HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding TextIcon}"></TextBlock>
                                    </Grid>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <StackPanel Orientation="Horizontal">
                                        <TextBlock Text="{Binding Hour}"></TextBlock>
                                        <Image Width="16" Height="16" Source="{Binding SignIcon}" />
                                        <TextBlock Text="{Binding Minute}"></TextBlock>
                                    </StackPanel>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <!--<GridViewColumn   Header="Действие" DisplayMemberBinding="{Binding Path=Action}" />
                        <GridViewColumn Header="Результат" DisplayMemberBinding="{Binding Path=Result}"/>-->
                    </GridView>
                </ListView.View>
            </ListView>



Код: c#
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.
public class CircleModel : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        public void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler handler = this.PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
        List<TableRow> _data = new List<TableRow>();
        public List<TableRow> Data
        {
            get
            {
                return _data;
            }
            set
            {
                if (_data == value) return;
                _data = value;
                RaisePropertyChanged("Data");
            }
        }
}



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    public class TableRow
    {
        public String PlanetIcon { get; set;}

        public String TextIcon { get; set;}

        public String SignIcon { get; set;}

        public String Hour { get; set;}

        public String Minute { get; set; }
    }



При такой реализации данные в ListView обновляются динамически при изменении входных параметров, но все тормозит.
Что можно сделать, чтобы этого не было?
...
Рейтинг: 0 / 0
17.02.2015, 17:17
    #38882057
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормоза жуткие при изменении данных
Pavluha,

всё тормозит? это как понимать? всё всё?
запустите через Perfomance Analizer и посмотрите, где конкретно тормозит.
с виду всё нормально. Только как я уже писал, передавать картинку строкой....
...
Рейтинг: 0 / 0
18.02.2015, 12:06
    #38882703
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормоза жуткие при изменении данных
Roman Mejtes,

Да, все тормозит. Т.е при вращении круга с планетами само вращение происходит не мгновенно, как было раньше, а все замирает и через какое-то время происходит поворот и изменение данных.
...
Рейтинг: 0 / 0
18.02.2015, 12:31
    #38882739
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормоза жуткие при изменении данных
Pavluha,

Такое происходит, если запускать из под студии. Если просто запустить приложение, то все ок.
...
Рейтинг: 0 / 0
18.02.2015, 14:46
    #38882926
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормоза жуткие при изменении данных
Pavluha,

отключите IntelliTrace (Menu -> Debug -> IntelliTrace -> Open IntelliTrace Settings), если нагрузка критична запускайте "Start without debugging" (Ctrl+F5)
...
Рейтинг: 0 / 0
18.02.2015, 15:17
    #38882974
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормоза жуткие при изменении данных
Roman Mejtes,

Не помогло, но все равно спасибо!
Не критично. Главное, что само приложение не тормозит.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Тормоза жуткие при изменении данных / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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