方案1--页面设计树形节点属性,后台实现相应处理
1。说起treeView,就想xaml 页面处实现一 简单树形 代码附上
<sdk:TreeView x:Name="treeItem" Background="PaleGreen" >
<sdk:TreeViewItem Header="1" >
<sdk:TreeViewItem Header="3">
<sdk:TreeViewItem Header="4">
<sdk:TreeViewItem Header="44" />
</sdk:TreeViewItem>
</sdk:TreeViewItem>
</sdk:TreeViewItem>
</sdk:TreeView>
效果图附上:
要想页面打开,各树形节点均自动展开,需设计属性 IsExpanded="True" 即可,例<sdk:TreeViewItem Header="1" IsExpanded="True" >
2.当页面有树形控件,现实中常有设计需求,即点击该树形节点触发相应事件,这时可以双击该控件生成treeItem_SelectedItemChanged事件,方法名可自定义,对号入座即可,为了突出效果 xaml页面设计代码变为如下:
<Grid x:Name="LayoutRoot" Background="White">
<!-- 定义布局 一行两列 -->
<Grid.RowDefinitions>
<RowDefinition>
</RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<!-- 树形控件于左侧第一列 -->
<StackPanel Grid.Column="0">
<sdk:TreeView x:Name="treeItem" Background="PaleGreen" SelectedItemChanged="treeItem_SelectedItemChanged_1">
<sdk:TreeViewItem Header="1" >
<sdk:TreeViewItem Header="3">
<sdk:TreeViewItem Header="4">
<sdk:TreeViewItem Header="44" />
</sdk:TreeViewItem>
</sdk:TreeViewItem>
</sdk:TreeViewItem>
</sdk:TreeView>
</StackPanel>
<!--右侧页面设计 -->
<StackPanel Grid.Column="1">
<TextBlock Foreground="Red" FontSize="20" Text="当前:"></TextBlock>
<TextBox x:Name="treeValue" Text="0" ></TextBox>
</StackPanel>
</Grid>
效果图如下:
若不想在页面对控件设计相应事件,可在后台初始化设计如下相应选择变更代码:例:
public Page3()
{
InitializeComponent();
treeItem.SelectedItemChanged +=
new
RoutedPropertyChangedEventHandler<object>(treeItem_SelectedItemChanged_1);
}
3.接下来在后台进行编码工作,给该相应事件设计对应展示效果处理
代码如下:
private void treeItem_SelectedItemChanged_1(object sender, RoutedPropertyChangedEventArgs<object> e)
{
// 定义控件对象 获取选取的TreeView
TreeView tree =sender as TreeView;
//定义控件属性元素 获取 捕获的对象tree的SelectedItem元素
TreeViewItem item = tree.SelectedItem as TreeViewItem;
this.treeValue.Text = item.Header.ToString();
}
最终效果:
方案2--树形节点 及选择触发事件均在后台代码实现
1.