тамTreeViewItem.HeaderTemplate и перемещение по дереву
Это мой код позади, это может показаться немного странной
class DataContext
{
ObservableCollection<TreeViewItem> itemsSource;
public ObservableCollection<TreeViewItem> ItemsSource
{
get { return this.itemsSource; }
set { this.itemsSource = value; }
}
}
ObservableCollection<TreeViewItem> items = new ObservableCollection<TreeViewItem>();
items.Add(new TreeViewItem());
DataContext dcs = new DataContext();
dcs.ItemsSource = new ObservableCollection<TreeViewItem>();
dcs.ItemsSource.Add(new TreeViewItem());
dcs.ItemsSource[dcs.ItemsSource.Count - 1] = null;
dcs.ItemsSource.Add(new TreeViewItem());
dcs.ItemsSource[dcs.ItemsSource.Count - 1] = null;
dcs.ItemsSource.Add(new TreeViewItem());
dcs.ItemsSource[dcs.ItemsSource.Count - 1] = null;
dcs.ItemsSource.Add(new TreeViewItem());
dcs.ItemsSource[dcs.ItemsSource.Count - 1] = null;
dcs.ItemsSource.Add(new TreeViewItem());
dcs.ItemsSource[dcs.ItemsSource.Count - 1] = null;
dcs.ItemsSource.Add(new TreeViewItem());
dcs.ItemsSource[dcs.ItemsSource.Count - 1] = null;
items[items.Count - 1].DataContext = dcs;
items.Add(new TreeViewItem());
items[items.Count - 1].DataContext = null;
items.Add(new TreeViewItem());
items[items.Count - 1].DataContext = null;
items.Add(new TreeViewItem());
items[items.Count - 1].DataContext = null;
items.Add(new TreeViewItem());
items[items.Count - 1].DataContext = null;
items.Add(new TreeViewItem());
items[items.Count - 1].DataContext = null;
items.Add(new TreeViewItem());
items[items.Count - 1].DataContext = null;
items.Add(new TreeViewItem());
items[items.Count - 1].DataContext = null;
items.Add(new TreeViewItem());
items[items.Count - 1].DataContext = null;
DataContext dc = new DataContext();
dc.ItemsSource = items;
MyTreeView.DataContext = dc;
У меня есть этот код в моем XAML
<TreeView x:Name="MyTreeView" Margin="0" ItemsSource="{Binding ItemsSource}">
<TreeView.Resources>
<Style TargetType="TreeViewItem">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="True" Focusable="False"/>
<TextBlock Text="Text"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemsSource" Value="{Binding ItemsSource}"/>
<Setter Property="IsExpanded" Value="True"/>
</Style>
</TreeView.Resources>
</TreeView>
есть проблема с subnodes TreeViewItem, я не могу использовать & стрелки вниз, чтобы перемещаться между ними. Пожалуйста, сообщите мне, что мне делать. Заранее спасибо.
Добро пожаловать в SO. Вы должны опубликовать минимальный, но полностью функциональный образец кода вашего «TreeView», с элементами и т. Д. Что-то, что раскрывает проблему, и может быть вставлено в инструмент вроде kaxaml. –
Я пробовал свой стиль, и я обычно могу использовать стрелки вверх и вниз для перемещения между TreeViewItems. Возможно, вам стоит написать более подробную информацию о своем коде. –
ok, я исправил свой пост – random