powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Предугадать размер контрола до рендеринга
9 сообщений из 59, страница 3 из 3
Предугадать размер контрола до рендеринга
    #39618605
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Желающим увидеть код, сегодня попробую.
...
Рейтинг: 0 / 0
Предугадать размер контрола до рендеринга
    #39618618
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Shocker.Proзаметные тормозавот не думал что так печально с сотней контролов

если элементы будут визуально сложнее, то тормоза возможны,хотя не факт.
...
Рейтинг: 0 / 0
Предугадать размер контрола до рендеринга
    #39618622
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub,
Согласен.
Только по факту у тебя они простые.
И я не думаю что 100 это много.
Т.е. _существенных тормозов_ на
LineDown по таймеру! Брат! Не будет.
Это же не колесиком крутить.
...
Но тут требую прописку кодом. ОК.
Попробую.
...
Рейтинг: 0 / 0
Предугадать размер контрола до рендеринга
    #39618623
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_subхотя не факт.а тебе вообще проверить 5 мин.
Я то первый раз писать wpf буду))
...
Рейтинг: 0 / 0
Предугадать размер контрола до рендеринга
    #39618771
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут наверно шутили, когда говорили что 100 ItemsControl будут тормозить ощутимо.
Я этого совсем не заметил по живенькому скроллу мышкой колёсиком.
Т.е. можно тормоза в любом коде сделать. Это OFFTOP.
Но данный метод (скроллинг), для ТС, имеет право на озвучивание в топике.

Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<Grid>
		<ScrollViewer>
						<ItemsControl Name="icTodoList">
						<ItemsControl.ItemTemplate>
								<DataTemplate>
										<Grid Margin="0,0,0,5">
												<Grid.ColumnDefinitions>
														<ColumnDefinition Width="*"/>
														<ColumnDefinition Width="100"/>
												</Grid.ColumnDefinitions>
												<TextBlock Text="{Binding Title}" />
												<ProgressBar Grid.Column="1" Minimum="0" Maximum="100" Value="{Binding Completion}" />
										</Grid>
								</DataTemplate>
						</ItemsControl.ItemTemplate>
				</ItemsControl>
		</ScrollViewer>
</Grid>

public partial class MainWindow : Window
{
		public MainWindow()
		{
				InitializeComponent();
				List<TodoItem> items = new List<TodoItem>();
				for (int i = 0; i < 100; i++)
						items.Add(new WpfApplication1.TodoItem() { Title = "ФИО"+i, Completion = i });

				icTodoList.ItemsSource = items;
		}
}

public class TodoItem
{
		public string Title { get; set; }
		public int Completion { get; set; }
}
...
Рейтинг: 0 / 0
Предугадать размер контрола до рендеринга
    #39618837
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

проблемы начинаются примерно с 80000-100000 вложенных элементов в ItemsControl находящихся в области видимости.
На примере DataGrid'а, где строки по сути тоже ItemsControl'ы, если сделать сетку 100 на 100 проблемы начнутся, но в DataGrid есть вертикальная\горизонтальная виртуализация. Как правило при выборе ListView и DataGrid я оставляю свой выбор на 2ом. Полностью переработать в шаблон элемента можно сделать так, что и не скажешь, что это DataGrid =)
...
Рейтинг: 0 / 0
Предугадать размер контрола до рендеринга
    #39618847
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,
Спс. За конкретику. Цифры запомнил.
Я знаю что ты профи).
От виртуализации в формс я ушел в обычную пагинацию.
Как то проще было. Кода меньше.
Ах да! Телерик таблица с пагинацией в ГУИ была. Запрос только поправил.
...
Рейтинг: 0 / 0
Предугадать размер контрола до рендеринга
    #39618858
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesКак правило при выборе ListView и DataGrid я оставляю свой выбор на 2ом.почему? именно из-за горизонтальной виртуализации? Вертикальная она же и в ListView есть.
...
Рейтинг: 0 / 0
Предугадать размер контрола до рендеринга
    #39618877
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

DataGrid изначально функциональнее ListView, а так как WPF дает полный контроль над тем, как выглядит элемент управления, можно превратить его во что угодно, хоть в ComboBox. По этому, я лучше выберу более функциональный элемент управления и придам ему требуемый вид, чем тоже самое, но с менее функциональным.
Но у DataGrid'а конечно своих гемороев хватает. :(
...
Рейтинг: 0 / 0
9 сообщений из 59, страница 3 из 3
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Предугадать размер контрола до рендеринга
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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