WPF TreeView Как показать линии дерева от нода к ноду?

6yrop

это возможно? никак не могу найти (под вечер уже наверное туплю)

bastii

да, интересно
вообще судя по тому, что показывает Visual Tree Explorer в XamlPadX, там TreeViewItem делают через Expander, и если я правильно понимаю, плюс/минус сами рисуют — возможно, что такая фича не реализована, точнее не вписывается в концепцию (ItemsPanel у может быть сложнее, чем StackPanel, тогда не понятно куда и как соединительные линии вести в общем типа рисуйте сами Тогда интересно как такое правильно рисовать. Видимо свой ItemTemplate делать. в общем, хз

bastii

Про концепцию. Вариант, где используется StackPanel с горизонтальной ориентацией. Как в этом случае соединительные линии рисовать?
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Grid>
<TreeView>
<TreeViewItem Header="N1" IsExpanded="True">
<TreeViewItem.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</TreeViewItem.ItemsPanel>
<TreeViewItem.Items>
<TreeViewItem Header="N2" IsExpanded="True">
<TreeViewItem Header="N4"/>
<TreeViewItem Header="N5"/>
<TreeViewItem Header="N6"/>
</TreeViewItem>
<TreeViewItem Header="N3" IsExpanded="True">
<TreeViewItem Header="N7"/>
<TreeViewItem Header="N8"/>
<TreeViewItem Header="N9"/>
</TreeViewItem>
</TreeViewItem.Items>
</TreeViewItem>
</TreeView>
</Grid>
</Page>

6yrop

Вариант, где используется StackPanel с горизонтальной ориентацией. Как в этом случае соединительные линии рисовать?
Пусть думают разработчики концепции , а заказчику линии нужны

bastii

ну не повезло тебе, погугли, мб готовую реализацию найдешь, либо рисуй сам

6yrop

ну не повезло тебе, погугли, мб готовую реализацию найдешь, либо рисуй сам
да не, я пока так ознакамливаюсь , хотя если бы не было таких неприятных мелочей, как отсутствие встроенного календарика (в примерах тоже убогий очень сырой плагин к VS и т.д., то мы бы уже начали новый проект на WPF.

Helga87

очень сырой плагин к VS
на Microsoft Expression Blend RC уже смотрел? я, по-видимому, буду в основном им пользоваться, а не плагином к VS.

6yrop

на Microsoft Expression Blend RC уже смотрел? я, по-видимому, буду в основном им пользоваться, а не плагином к VS.
нет, не смотрел. Теперь два дизайнера делают?

Helga87

Идея такова, чтобы полностью разнести дизайн и логику. Дизайнер сидит себе в Microsoft Expression Blend, рисует рабочий прототип приложения под WPF, не написав ни одной строчки кода и отдает программисту (процесс также можно сделать итеративным, научив дизайнера забирать проект с VSS).
В Microsoft Expression Blend встроен простейший редактор для C# и VB.NET, чтобы продвинутый дизайнер, ну типа тех, что щас flash-ом занимаются, мог что-то сильно нестандартное сделать, но основная функция Blend-а — редактировать XAML.
Точно так же и в студию встроен редактор для WPF, но его задача позволить легко сделать простенький интерфейс без излишеств программисту, который пишет логику. Да, он может редактировать WPF, но основная задача студии — написание кода.
Взять можно либо тут, либо могу залить куда-нибудь. Blend сейчас находится в стадии RC и доступен нахаляву. Потом он будет платным, но его цена мне неизвестна.

6yrop

Идея такова, чтобы полностью разнести дизайн и логику.
с этой фразы начинается каждая вторая книжка (учебник) по программированию . Но зачем делать разные продукты? Короче, майкрософт облажалась с интегрированной средой разработки .

Helga87

Но зачем делать разные продукты?
Для того, чтобы дать дизайнерам тот интерфейс, который им удобен (ориентация на инструменты и документы а программистам — тот, что им удобен (проекты и файлы с исходниками).
Да и вообще, зачем дизайнеру знать, как работать в студии? Его задача рисовать. Вот ему и дадут в руки удобный инструмент, не отягощенный ненужным ему барахлом.
В то же время, если интерфейс делает тот же человек, что и код, какие-то дополнительные проблемы возникают. Можно воспринимать это, что ms подталкивает компании к тому, чтобы правильно использовать разделение труда.

6yrop

Да и вообще, зачем дизайнеру знать, как работать в студии? Его задача рисовать. Вот ему и дадут в руки удобный инструмент, не отягощенный ненужным ему барахлом.
например, я не знаю, как пользоваться студией для программирования на J#, но студия это поддерживает, и мне это барахло (J# ) не сколько не мешает.

Dasar

> например, я не знаю, как пользоваться студией для программирования на J#, но студия это поддерживает
но сильно мешает, что студия очень толстая, и соответственно каждому дизайнеру ее не поставишь.

6yrop

но сильно мешает, что студия очень толстая, и соответственно каждому дизайнеру ее не поставишь.
это проблемы архитектуры студии, в Eclipse плагины ставятся путем копирования файлов в папку для плагинов

6yrop

базовый пакет Eclipse весит 121 MB, и тоже устанавливается простым копированием. Скопировать 121 MB на машину занимает 1-2 минуты.

bastii

Мне Blend не понравился, нужно сделать кучу кликов, чтобы куда-нибудь попасть. Думаю, что правильно полностью выделять базовый заммел, который определяет содержимое ГУИ, и редактировать его вместе с кодом в VS. А дизайнер пускай отдельные ресурсы со стилями и шаблонами рисует в Blend. А плагин в VS конечно сильно убогий, там ведь код довольно предсказуемый, можно было редактор для заммел до ума довести. Сделали хотя бы нормальный intellisense и навигацию по коду и др базовые вещи. А то похоже, что основные усилия идут на синхронизацию кода с изображением в дизайнере. Надеюсь, что скоро какой-нибудь решарпер подтянется с поддержкой заммел.

6yrop

скоро какой-нибудь решарпер подтянется с поддержкой заммел
вроде Решарпер уже в каком-то объеме поддерживает XAML, так пишут на сайте, я еще не успел поставить и посмотреть

bastii

я тоже не смотрел, там под Orcas он запускается?
кстати, если будет время, вечером попробую сделать TreeView c линиями
Оставить комментарий
Имя или ник:
Комментарий: