![](/img/trans.png)
[英]C# WPF TreeViewItem MouseDoubleClick event on TreeViewItem with TreeViewItem.Header
[英]how to add border around treeViewItem, including the arrow WPF/C#
我正在嘗試更改 TreeView 的設計,以便在每個 TreeViewItem 周圍添加邊框。 您可能知道,如果我向 TreeViewItem 添加邊框,就像這樣
<TreeView Name="treeView">
<TreeView.ItemContainerStyle>
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="true">
</Setter>
<Setter Property="BorderBrush" Value="Green"></Setter>
<Setter Property="BorderThickness" Value="2,2,2,2" />
</Style>
</TreeView.ItemContainerStyle>
<TreeView.ItemTemplate>
<-- my template -->
</TreeView.ItemTemplate>
</TreeView>
邊框不會圍繞箭頭,它會是這樣的:
我想要做的是如下圖所示的內容:
我怎么能做到這一點? 甚至有可能嗎?
謝謝你。
我設法做出了一些東西,這真的很可笑,但這就是我所能想到的......我讀過關於 ItemPresenter 和 ControlTemplate,我認為可以使用它來完成,但我發現 Expander 類有點令人困惑,尤其是因為我有第三級孩子,我無法找到有關讓 Expander 為他們工作的相關信息。 所以,我的解決方案是制作一個模板,在其中我創建了一個由兩行組成的網格:第一行是正常高度,第二行是高度為 1 和 -160 邊距的矩形(以補償縮進)。
<StackPanel Background="Transparent" Margin="20,20,20,20">
<Border BorderThickness="1" BorderBrush="Gray" Margin="0">
<TreeView Name="treeView" BorderThickness="0" Background="Transparent" Height="400" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<TreeView.ItemContainerStyle>
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding IsExpanded}" />
</Style>
</TreeView.ItemContainerStyle>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Grid.Column="0" Grid.Row="0">
<CheckBox IsChecked="{Binding IsChecked, Mode=TwoWay}" Click="CheckBox_Click" VerticalAlignment="Center">
<TextBlock Text="{Binding Description}" Width="250" Margin="0,0,0,0"/>
</CheckBox>
</Border>
<Rectangle Grid.Row="1" Grid.Column="0" HorizontalAlignment="Stretch" Fill="Gray" Height="1" Margin="-160"/>
</Grid>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</Border>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.