wpf treeview实现item为不选中状态
来源:互联网 发布:淘宝店老板 编辑:程序博客网 时间:2024/06/06 17:03
通过修改treeviewitem的template,调整IsSelect触发器中的Pane.BackGround和treeview的BackGround一致,实现item为“不选中”状态。
<Window.Resources> <Style TargetType="TreeViewItem"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="TreeViewItem"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" MinWidth="19" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition/> </Grid.RowDefinitions> <ToggleButton IsChecked="False" ClickMode="Press" Name="Expander"> <ToggleButton.Style> <Style TargetType="ToggleButton"> <Style.Resources> <ResourceDictionary /> </Style.Resources> <Setter Property="UIElement.Focusable" Value="False"/> <Setter Property="FrameworkElement.Width" Value="16"/> <Setter Property="FrameworkElement.Height" Value="16"/> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate TargetType="ToggleButton"> <Border Padding="5,5,5,5" Background="#00FFFFFF" Width="16" Height="16"> <Path Fill="#FFFFFFFF" Stroke="#FF818181" Name="ExpandPath"> <Path.Data> <PathGeometry Figures="M0,0L0,6L6,0z" /> </Path.Data> <Path.RenderTransform> <RotateTransform Angle="135" CenterX="3" CenterY="3" /> </Path.RenderTransform> </Path> </Border> <ControlTemplate.Triggers> <Trigger Property="ToggleButton.IsChecked" Value="True"> <Setter Property="UIElement.RenderTransform" TargetName="ExpandPath"> <Setter.Value> <RotateTransform Angle="180" CenterX="3" CenterY="3" /> </Setter.Value> </Setter> <Setter Property="Shape.Fill" TargetName="ExpandPath"> <Setter.Value> <SolidColorBrush>#FF595959</SolidColorBrush> </Setter.Value> </Setter> <Setter Property="Shape.Stroke" TargetName="ExpandPath"> <Setter.Value> <SolidColorBrush>#FF262626</SolidColorBrush> </Setter.Value> </Setter> </Trigger> <Trigger Property="UIElement.IsMouseOver" Value="True"> <Setter Property="Shape.Stroke" TargetName="ExpandPath"> <Setter.Value> <SolidColorBrush>#FF27C7F7</SolidColorBrush> </Setter.Value> </Setter> <Setter Property="Shape.Fill" TargetName="ExpandPath"> <Setter.Value> <SolidColorBrush>#FFCCEEFB</SolidColorBrush> </Setter.Value> </Setter> </Trigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="UIElement.IsMouseOver" Value="True"/> <Condition Property="ToggleButton.IsChecked" Value="True"/> </MultiTrigger.Conditions> <Setter Property="Shape.Stroke" TargetName="ExpandPath"> <Setter.Value> <SolidColorBrush>#FF1CC4F7</SolidColorBrush> </Setter.Value> </Setter> <Setter Property="Shape.Fill" TargetName="ExpandPath"> <Setter.Value> <SolidColorBrush>#FF82DFFB</SolidColorBrush> </Setter.Value> </Setter> </MultiTrigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </ToggleButton.Style> </ToggleButton> <Border BorderThickness="{TemplateBinding Border.BorderThickness}" Padding="{TemplateBinding Control.Padding}" BorderBrush="{TemplateBinding Border.BorderBrush}" Background="{TemplateBinding Panel.Background}" Name="Bd" SnapsToDevicePixels="True" Grid.Column="1"> <ContentPresenter Content="{TemplateBinding HeaderedContentControl.Header}" ContentTemplate="{TemplateBinding HeaderedContentControl.HeaderTemplate}" ContentStringFormat="{TemplateBinding HeaderedItemsControl.HeaderStringFormat}" ContentSource="Header" Name="PART_Header" HorizontalAlignment="{TemplateBinding Control.HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" /> </Border> <ItemsPresenter Name="ItemsHost" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2" /> </Grid> <ControlTemplate.Triggers> <Trigger Property="TreeViewItem.IsExpanded" Value="False"> <Setter Property="UIElement.Visibility" TargetName="ItemsHost" Value="Collapsed"/> </Trigger> <Trigger Property="ItemsControl.HasItems" Value="False"> <Setter Property="UIElement.Visibility" TargetName="Expander" Value="Hidden"/> </Trigger> <Trigger Property="TreeViewItem.IsSelected" Value="True"> <Setter Property="Panel.Background" TargetName="Bd" Value="DarkGreen"> <!--Setter.Value> <DynamicResource ResourceKey="{x:Static SystemColors.HighlightBrushKey}"/> </Setter.Value--> </Setter> <!--Setter Property="TextElement.Foreground"> <Setter.Value> <DynamicResource ResourceKey="{x:Static SystemColors.HighlightTextBrushKey}" /> </Setter.Value> </Setter--> </Trigger> <Trigger Property="UIElement.IsEnabled" Value="False"> <Setter Property="TextElement.Foreground"> <Setter.Value> <DynamicResource ResourceKey="{x:Static SystemColors.GrayTextBrushKey}" /> </Setter.Value> </Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <Grid> <TreeView Height="200" HorizontalAlignment="Left" Margin="84,26,0,0" Name="treeView1" VerticalAlignment="Top" Width="120" Background="DarkGreen"> <TreeViewItem Header="AAAA" /> <TreeViewItem Header="BBBB" /> <TreeViewItem Header="CCCC" /> </TreeView> <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="259,93,0,0" Name="button1" VerticalAlignment="Top" Width="75" /> </Grid>
0 0
- wpf treeview实现item为不选中状态
- WPF中确保显示TreeView选中的Item
- WPF TreeView 后台C#选中指定的Item, 需要遍历
- WPF 中TreeView 右键选中实现
- 【WPF】如何让TreeView实现右键选中的功能
- ListView Item选中松开后item背景色持续为选中状态
- android中gridView中点击 item为选中状态
- android中gridView中点击 item为选中状态
- ListView中的Item内的选中状态的实现
- 如何在sencha touch中将选中的item状态自动变为不选中
- Android 实现Gallery左对齐,选中Item不滑动效果
- Android 实现Gallery左对齐,选中Item不滑动效果
- android2.3修改ethernet默认为不选中状态
- C# winform TreeView设置为选中状态(蓝底白字)
- 编写Android程序,实现选中复选框后,“开始”按钮才可用,否则为不可用状态
- treeview 结点重新处于选中状态
- JS实现TreeView联动选中
- GridView的getChildAt(postion)获取不到指定位置的item的解决方法(动态设置指定item为选中状态)
- 交叉编译libvpx
- 数据结构与算法概念解析
- IPV4地址的分类(五种)
- thttpd源码解析 定时器模块
- 开散列表的查找、插入、删除操作的完整C代码
- wpf treeview实现item为不选中状态
- UVa 11809 Floating-Point Numbers(浮点数)
- unity3d功能脚本大全
- Java开发部新员工学习课程
- java Copy-On-Write容器
- 环境信息术语(HJ/T 416—2007)
- 实习篇---第二十二天
- FrameWork之View绘制过程
- mysql怎么让一个存储过程定时执行