Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подбор контрола 
V
    Опции темы
Idsa
Дата 1.9.2008, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 2
Всего: 62



Мне нужен контрол наподобие ListBox только, чтобы у него слева можно было бы задать header для каждой записи (нечто вроде перевернутого на 90% грида). Нужна помощь в поисках smile


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Idsa
Дата 1.9.2008, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 2
Всего: 62



Пока остановился на PropertyGrid, но поиски продолжаются smile


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Kefir
Дата 2.9.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



Idsa, а, собственно, чем не устроил сам ListBox? Ведь WPF тем и хорош, что там можно сотворить практически всё. И Хедеры у каждого элемента списка это не проблема. Сделай шаблон или UserControl, который соответствует твоим требованиям и все дела.
PM MAIL WWW Skype   Вверх
Idsa
Дата 2.9.2008, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 2
Всего: 62



Kefir, да, я думал о том, чтобы сделать свой темплейт... но пока отказался от этой идеи по двум причинам:
1. еще ни разу не писал темплейты
2. мне нужно отображать свойства одного экземпляра объект (а не списка), так что ListBox здесь не совсем в тему (или я ошибаюсь?)


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Kefir
Дата 3.9.2008, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



Idsa, ну всё равно свойства одного обьекта = список свойств, неправда ли?  smile Но, возможно, PropertyGrid лучше тебе подойдёт. Тут уж решай сам.
PM MAIL WWW Skype   Вверх
Idsa
Дата 5.9.2008, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 2
Всего: 62



Подумал я, подумал... и понял, что больше всего мне подходит DataGrid: как раз одна строка грида и отражает все мои данные. Правда, вопрос был в том, как привести DataGrid с одной строкой к тому виду, который я описывал в первом посте. Решение оказалось достаточно простым: поворачиваем грид на -90 градусов, а ячейки и заголовок - на 90 градусов.
Вот стили:
Код

 <Style x:Key="ManyToOneGridTransformStyle" TargetType="Control">
            <Setter Property="RenderTransformOrigin" Value="0.5, 0.5" ></Setter>
            <Setter Property="LayoutTransform">
                <Setter.Value>
                    <TransformGroup>
                        <RotateTransform Angle="-90"></RotateTransform>
                    </TransformGroup>
                </Setter.Value>
            </Setter>
        </Style>

        <Style x:Key="ManyToOneGridElementsTransformStyle" TargetType="Control">
            <Setter Property="RenderTransformOrigin" Value="0.5, 0.5" ></Setter>
            <Setter Property="LayoutTransform">
                <Setter.Value>
                    <TransformGroup>
                        <RotateTransform Angle="90"></RotateTransform>
                    </TransformGroup>
                </Setter.Value>
            </Setter> 
        </Style>

Вот объявление грида:
Код

                    <toolkit:DataGrid Name="PopupDataGrid" Grid.Row="1" Grid.Column="0"
                              AutoGenerateColumns="False"
                              Style="{StaticResource ManyToOneGridTransformStyle}"
                              CellStyle="ManyToOneGridElementsTransformStyle"
                              ColumnHeaderStyle="ManyToOneGridElementsTransformStyle">
                    </toolkit:DataGrid>

И небольшая графическая иллюстрация:
1. До:
user posted image
2. После:
user posted image

Правда, выявился косяк: после поворота горизонтальный скролл отображается сверху.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Idsa
Дата 8.9.2008, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 2
Всего: 62



Поизвращался-поизвращался с WPF DataGrid, а потом перешел на Xceed DataGrid, который решает проблему без танцев с бубном благодаря наличию CardView.
Еще одна проблема, решившаяся благодаря переходу на Xceed DataGrid: http://forum.vingrad.ru/forum/topic-225984.html


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.1011 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.