powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / treeView без отступов вправо для дочерних элементов
6 сообщений из 6, страница 1 из 1
treeView без отступов вправо для дочерних элементов
    #38805962
Che0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
По умолчанию treeView имеет такой вид. Как мне убрать отступ помеченный красной стрелкой?
В ControlTemplate я вижу возможность изменить все что угодно кроме этого)


Спасибо
...
Рейтинг: 0 / 0
treeView без отступов вправо для дочерних элементов
    #38806360
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В крайнем случае всегда можно передвинуть элемент через свойство Margin.
...
Рейтинг: 0 / 0
treeView без отступов вправо для дочерних элементов
    #38806433
Che0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya81,

так я и сделал, но хотелось бы разобраться где задается разметка
...
Рейтинг: 0 / 0
treeView без отступов вправо для дочерних элементов
    #38806474
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задаётся всякими PresentationFramework.Aero, надо полагать. Если нужно, посмотрите UI designer'ом в Visual Studio (если 2012+) или Blend'ом, что там за Template по умолчанию. Кнопка сворачивания/разворачивания (насколько помню) вообще задаётся в фиксированных WPF unit'ах. Или в чём тогда вопрос?
...
Рейтинг: 0 / 0
treeView без отступов вправо для дочерних элементов
    #38806540
Che0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya81,

Все это я изучил(видимо недостаточно) но не увидел где это задается
...
Рейтинг: 0 / 0
treeView без отступов вправо для дочерних элементов
    #38807050
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Che0,

для этого всего лишь нужно переопределить шаблон TreeViewItem
вот простейший пример, все элементы этого дерева находят на одном расстоянии от левой стороны
View:
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
        <Style x:Key="TreeViewItemStyle" TargetType="{x:Type TreeViewItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TreeViewItem}">
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="24"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition/>
                                <RowDefinition/>
                            </Grid.RowDefinitions>
                                
                            <ToggleButton Height="16" Width="16" 
                                          Grid.Column="0" Grid.Row="0"
                                          IsChecked="{TemplateBinding IsExpanded}" />
                            <ContentPresenter x:Name="PART_Header"
                                              ContentSource="Header"
                                              HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
                                              Grid.Column="1"  Grid.Row="0"/>
                            <ItemsPresenter x:Name="ItemsHost" 
                                            Grid.Column="0" Grid.ColumnSpan="2"  Grid.Row="1"
                                            Visibility="Collapsed"/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsExpanded" Value="True">
                                <Setter TargetName="ItemsHost" Property="Visibility" Value="Visible"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <Style x:Key="TreeViewStyle" TargetType="{x:Type TreeView}">
            <Setter Property="ItemContainerStyle" Value="{StaticResource ResourceKey=TreeViewItemStyle}"/>
        </Style>
    </Window.Resources>
    <TreeView Style="{StaticResource TreeViewStyle}"
              ItemsSource="{Binding Root}">
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate DataType="{x:Type wpfApplication1:Person}"
                                      ItemsSource="{Binding Children}">
                <TextBlock Text="{Binding Name}"/>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate>
    </TreeView>



ViewModel:
Код: 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.
    public class Person
    {
        public Person()
        {
            Children = new List<Person>();
        }
        public string Name { set; get; }
        public List<Person> Children { set; get; }
        
    }

    public class ViewModel : INotifyPropertyChanged
    {
        public ViewModel()
        {
            Root = new List<Person>
            {
                new Person
                {
                    Name = "Roman",
                    Children = {new Person {Name = "Olga"} , new Person { Name="Sofia"} }
                },
                new Person
                {
                    Name = "Anatoliy",
                    Children = { new Person { Name = "Ivan"}, new Person {Name = "Alexey"}}

                }
            };

        }
        public List<Person> Root { set; get; }
   }
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / treeView без отступов вправо для дочерних элементов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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