Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 18.09.2015
Сообщений: 7
1

CardView в WPF win приложении без сторонних библиотек

19.12.2016, 15:24. Показов 2077. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Столкнулся с такой пробемой - требуется выводить большое количество элементов на форму (пишу некое подобие FOP панели для астериска) и с высокой частотой изменять данные в них. Изначально пользовался DevExpress с их cardview, но при тестировании под нагрузкой результат совсем не понравился. Нагрузка на процессор была раза в 3 больше, чем со стандартным DataGrid. Так что перешёл на чистый WPF. Теперь в раздумьях - как сделать аналог cardview на основе стандартных контролов. Того же datagrid`а, например. Или, возможно, я изобретаю велосипед и всё уже есть? В WPF вник ещё недостаточно глубоко, так что прошу прощения, если вопрос нубский.

Сейчас окно выглядит так, а хотелось бы, чтобы оно выглядело приблизительно вот так
Миниатюры
CardView в WPF win приложении без сторонних библиотек   CardView в WPF win приложении без сторонних библиотек  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2016, 15:24
Ответы с готовыми решениями:

Графика без сторонних библиотек
Интересует следующий вопрос: можно ли без сторонних библиотек, чистым С++ вывести пиксели разных...

Создание икосаэдра без сторонних библиотек
Помогите создать икосаэдр в 3D на C# без использования библиотек. И нужно чтобы он крутился на...

Запуск VC++ на других ПК без сторонних библиотек. не MFS!
Добрый день. Встала задача скомпилировать свой проект. писал на чистом Win api с использованием...

архивирование кталога без использования сторонних библиотек
может кто сталкивался...кодом поделится;)

4
Эксперт .NET
1838 / 1346 / 427
Регистрация: 10.06.2011
Сообщений: 2,126
19.12.2016, 16:47 2
Я не знаю, что такое cardview. Но в скриншоте как "хотелось бы", я вижу обычный ItemsControl в тремя элементами (ну, с фильтрацией ещё). Что именно хочется сделать, какой функционал и что не получается?
0
1 / 1 / 0
Регистрация: 18.09.2015
Сообщений: 7
19.12.2016, 18:09  [ТС] 3
Нет. В том, что хотелось бы, как пример приведён DevExpress`овский CardView. А не получается понять как подобное сделать нативными средствами WPF. ItemsControl использовать можно, но хорошо было бы увидеть пример структуры - что вообще в нём надо указать, чтобы всё выглядело приблизительно так, как на втором изображении?
Например, вот так у меня описывались внутренности карточки CardView:
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
<DataTemplate x:Key="CardCardTemplate">
            <Grid MinWidth="100">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <TextBlock Grid.Column="0" Grid.Row="0" Text="CallerID: " />
                <TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding DataContext.Caller}" />
                <Grid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Margin="0,2,0,2"
                      DataContext="{Binding DataContext.Channels}">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <TextBlock Text="State: " Grid.Column="0" Grid.Row="0" />
                    <TextBlock Text="{Binding Path=State}" Grid.Column="1" Grid.Row="0" />
                </Grid>
                <TextBlock Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" Text="{Binding DataContext.TalkTime}" />
            </Grid>
        </DataTemplate>
0
Эксперт .NET
1838 / 1346 / 427
Регистрация: 10.06.2011
Сообщений: 2,126
19.12.2016, 18:28 4
Наверное, тоже самое, только вместо
XML
1
"{Binding DataContext.Channels}"
Нужно, я думаю, будет прописывать
XML
1
"{Binding Channels}"
Но лучше будет, если вы разберёте работу с ItemsControl на основе какого-нибудь примера из интернета. Почитайте статьи, поразбирайте примеры. Вот, например.
0
1 / 1 / 0
Регистрация: 18.09.2015
Сообщений: 7
20.12.2016, 09:26  [ТС] 5
Благодарю. Направление для раскопок задали, теперь усердно копаю )
P.S. С биндингами я знаю, что без контекстов надо указывать. Просто код при вставке не поправил.

Добавлено через 14 часов 49 минут
И всё же я люто ступил... С некоторыми модификациями обычный листбокс отлично подошёл под мои нужды... Эхх. В любом случае, благодарю за совет!
0
20.12.2016, 09:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2016, 09:26
Помогаю со студенческими работами здесь

Парсинг HTML без использования сторонних библиотек
Доброго времени суток всем кто читает сеё сообщение %) Прошу помочь кодом, советами, примером,...

Рисование 3D фигур без использования сторонних библиотек
в последнее время стало интересно как рисовать математически 3D фигуры в c# при этом не используя...

Как узнать частоту звука без сторонних библиотек
кто нибудь знает как в работать со звуком без сторонних библиотек? мне нужно чтобы во время...

Большой integer, можно ли обойтись без сторонних библиотек?
Добрый день. Нужен формат для больших целых (gfortran, f95 соответственно) - можно ли обойтись без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru