那里
这是我后面的代码,可能看起来有点奇怪
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>TreeViewItem子节点有问题,我不能使用向上和向下箭头在它们之间移动。请告诉我我该怎么做。提前谢谢。
发布于 2015-04-17 21:12:39
为了解决您的问题,代码中的TreeViewItems应该直接添加到Items属性中。大概是这样的:
TreeViewItem treeViewItem = new TreeViewItem();
treeViewItem.Items.Add(new TreeViewItem());
treeViewItem.Items.Add(new TreeViewItem());
treeViewItem.Items.Add(new TreeViewItem());
MyTreeView.Items.Add(new TreeViewItem());
MyTreeView.Items.Add(treeViewItem);
MyTreeView.Items.Add(new TreeViewItem());https://stackoverflow.com/questions/29693876
复制相似问题