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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TreeView 
:(
    Опции темы
Idsa
Дата 18.12.2008, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Во многих примерах по WPF (например, http://www.c-sharpcorner.com/UploadFile/ma...FTreeView.aspx) разграничителем уровней в TreeView является стрелочка, меняющая направление. Когда же я использую TreeView, вижу стандартные плюс/минус. Стрелочку хочу smile Как ее добыть?


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


Эксперт
****


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

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



Сейчас пришел на вторую работу и, так сложилось, что и здесь мне нужно было заюзать дерево под WPF. С удивлением обнаружил те самые стрелочки. Эта машина под Вистой. Неужели вид разделителя зависит от операционной системы?!


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


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



скорее от темы/стиля, неждели от операционной системы


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Partizan
Дата 18.12.2008, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



Вот пример....правда недоделанный чутка smile

Код

...
  <Window.Resources>
        <Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton">
            <Setter Property="Focusable" Value="False"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ToggleButton">
                        <Grid
            Width="15"
            Height="13"
            Background="Transparent">
                            <Path x:Name="ExpandPath"
              HorizontalAlignment="Left" 
              VerticalAlignment="Center" 
              Margin="1,1,1,1"
              Fill="Black"
              Data="M 4 0 L 8 4 L 4 8 Z"/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsChecked"
                 Value="True">
                                <Setter Property="Data"
                  TargetName="ExpandPath"
                  Value="M 0 4 L 8 4 L 4 8 Z"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <Style x:Key="{x:Type TreeViewItem}"
       TargetType="{x:Type TreeViewItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TreeViewItem}">
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition MinWidth="19"
                        Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition/>
                            </Grid.RowDefinitions>
                            <ToggleButton x:Name="Expander"
                    Style="{StaticResource ExpandCollapseToggleStyle}"
                    IsChecked="{Binding Path=IsExpanded,
                                RelativeSource={RelativeSource TemplatedParent}}"
                    ClickMode="Press"/>
                            <Border Name="Bd"
                Grid.Column="1"
                Background="{TemplateBinding Background}"
                BorderBrush="{TemplateBinding BorderBrush}"
                BorderThickness="{TemplateBinding BorderThickness}"
                Padding="{TemplateBinding Padding}">
                                <ContentPresenter x:Name="PART_Header"
                        ContentSource="Header"
                        HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
                            </Border>
                            <ItemsPresenter x:Name="ItemsHost"
                    Grid.Row="1"
                    Grid.Column="1"
                    Grid.ColumnSpan="2"/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsExpanded"
                 Value="false">
                                <Setter TargetName="ItemsHost"
                  Property="Visibility"
                  Value="Collapsed"/>
                            </Trigger>
                            <Trigger Property="HasItems"
                 Value="false">
                                <Setter TargetName="Expander"
                  Property="Visibility"
                  Value="Hidden"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
  </Window.Resources>
......
<TreeView Height="200" Name="treeView1" Width="242">
            <TreeView.Items>
                <TreeViewItem Header="1">
                    <TreeViewItem Header="1.1"></TreeViewItem>
                    <TreeViewItem Header="1.2"></TreeViewItem>
                </TreeViewItem>
                <TreeViewItem Header="2"></TreeViewItem>
                <TreeViewItem Header="3">
                    <TreeViewItem Header="3.1"></TreeViewItem>
                    <TreeViewItem Header="3.2"></TreeViewItem>
                </TreeViewItem>
                <TreeViewItem Header="4"></TreeViewItem>
            </TreeView.Items>
        </TreeView>


Сорри...выравнивание скачет smile


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Idsa
Дата 19.12.2008, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Partizan @  18.12.2008,  14:59 Найти цитируемый пост)
скорее от темы/стиля, неждели от операционной системы 

Ни там, ни там ни стиль, ни тема не выставлялись: использовались параметры по умолчанию.
Кроме того, в Висте даже стандартное дерево каталогов в explorer'е выглядит подобным образом:
user posted image


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


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



Idsa, Есть такое понятие, как системная тема/стиль. В XP тема по умолчанию - одна, в Vista - другая.
Можно почитать у Натана в WPF Unleashed в разделе Styles, Templates, Skins and Themes

Цитата

The following are themes that Microsoft has created, and the corresponding valid theme
dictionary URIs:
. The Windows Vista theme: themes\Aero.NormalColor.xaml
. The default Windows XP theme: themes\Luna.NormalColor.xaml
. The olive green Windows XP theme: themes\Luna.Homestead.xaml
. The silver Windows XP theme: themes\Luna.Metallic.xaml
. The Windows XP Media Center Edition 2005 and Windows XP Tablet PC Edition 2005 theme: themes\Royale.NormalColor.xaml
. The Windows Classic theme: themes\Classic.xaml
. The Zune Windows XP theme: themes\Zune.NormalColor.xaml
Note that Windows Classic is a bit special, as it doesnt have the ThemeColor part of 
the URI.


Если надо, чтобы дерево в XP выглядело также как в висте, придётся контрол стилизовать.

А вообще говоря приложению можно просто выставить первую тему из вышеперечисленных(насколько я помню в .NET даже сборка есть с этой темой)


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




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


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

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