想用TreeView实现如下效果
可是做出来确实这样的效果
存在的问题:
1:TreeView 自带的折叠图标怎么也去不掉。
2. 背景图片 总是不能从最左边开始。
附上xaml代码:
<TreeView Name="dictree" ItemsSource="{Binding}" Grid.Row="1" BorderThickness="0" Margin="0">
<TreeView.Resources>
<HierarchicalDataTemplate ItemsSource="{Binding Value}" DataType="{x:Type local:Job}">
<TextBlock Text="{Binding Id}"><TextBlock Text="{Binding Name}"></TextBlock></TextBlock>
</HierarchicalDataTemplate>
</TreeView.Resources>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Value}">
<TreeViewItem>
<TreeViewItem.Background>
<ImageBrush ImageSource="tvheadbg.png" />
</TreeViewItem.Background>
<TreeViewItem.Header>
<Border Name="SelectedBorder" CornerRadius="3" BorderBrush="#99DEFD" BorderThickness="1" >
<StackPanel Orientation="Horizontal" Height="29">
<Image Source="tHome.png" Height="16" Width="16" Margin="8,0,0,0" />
<TextBlock Text="{Binding Key}" VerticalAlignment="Center" Margin="8,0,0,0"></TextBlock>
</StackPanel>
</Border>
</TreeViewItem.Header>
</TreeViewItem>
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<StackPanel HorizontalAlignment="Left" Height="29" Orientation="Horizontal" VerticalAlignment="Center">
<Image Source="tHome.png" Height="16" Width="16" Margin="8,0,0,0" />
<TextBlock Text="{Binding Name}" Margin="8,0,0,0"></TextBlock>
</StackPanel>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
问题:
1. 怎么让背景从左边开始?
2. 如果去掉TreeView自带的折叠图标?
3.或者大家有没有更好的思路,做出我想要的效果?
Demo下载地址:http://www.bibihi.com/demo.rar (55kb)
希望给位大侠能够提供好的解决方案,并附上源码,不胜感激
代码就不看了,给个调试wpf的UI的办法吧
将分级容器的background属性设置为不同的颜色,看看你的左侧就是什么东西占据了那部分空间,然后在想办法解决。
该方法对于一般的UI调试都很给力