Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WinRTXamlToolkit.Controls树视图-删除鼠标悬停突出显示_C#_Uwp_Treeview_Windows 10 Universal_Winrt Xaml Toolkit - Fatal编程技术网

C# WinRTXamlToolkit.Controls树视图-删除鼠标悬停突出显示

C# WinRTXamlToolkit.Controls树视图-删除鼠标悬停突出显示,c#,uwp,treeview,windows-10-universal,winrt-xaml-toolkit,C#,Uwp,Treeview,Windows 10 Universal,Winrt Xaml Toolkit,我正在使用WinRTXamlToolkit,目前正在尝试使用TreeView控件。它工作得很好,但每当我将鼠标放在它上面或选择它时,该项目就会高亮显示。它涵盖了整个文本,我想改变它的前景色/背景色,或者,理想情况下,完全删除选择颜色背景。你知道我怎么开始吗 我们可以编辑TreeViewItem的模板来实现这一点。我们可以在GitHub找到 TreeView中项目的鼠标悬停效果由名为“悬停”的矩形设置: 我们可以通过设置Fill属性来更改其颜色,通过设置DoubleAnimation.To属性来更

我正在使用WinRTXamlToolkit,目前正在尝试使用TreeView控件。它工作得很好,但每当我将鼠标放在它上面或选择它时,该项目就会高亮显示。它涵盖了整个文本,我想改变它的前景色/背景色,或者,理想情况下,完全删除选择颜色背景。你知道我怎么开始吗


我们可以编辑
TreeViewItem
模板来实现这一点。我们可以在GitHub找到

TreeView中项目的鼠标悬停效果由名为“悬停”的
矩形设置:

我们可以通过设置
Fill
属性来更改其颜色,通过设置
DoubleAnimation.To
属性来更改其不透明度

选择效果类似于鼠标悬停效果,由名为“选择”的
矩形设置:

我们可以通过删除此
VisualState
中的动画来删除选择效果,如:

<VisualState x:Name="Selected">
    <!--<Storyboard>
        <DoubleAnimation Duration="0"
                         Storyboard.TargetName="Selection"
                         Storyboard.TargetProperty="Opacity"
                         To=".75" />
    </Storyboard>-->
</VisualState>
然后通过如下设置
ItemContainerStyle
TreeView
中使用新样式:

<controls:TreeView x:Name="treeView" ItemContainerStyle="{StaticResource MyTreeViewItemStyle}">
    <controls:TreeView.ItemTemplate>
        <DataTemplate>
            <data:DataTemplateExtensions.Hierarchy>
                <data:HierarchicalDataTemplate ItemsSource="{Binding Children}" />
            </data:DataTemplateExtensions.Hierarchy>
            <TextBlock Text="{Binding Text}" TextTrimming="CharacterEllipsis" />
        </DataTemplate>
    </controls:TreeView.ItemTemplate>
</controls:TreeView>

<Rectangle x:Name="Selection"
           Grid.Column="1"
           IsHitTestVisible="False"
           Opacity="0"
           RadiusX="2"
           RadiusY="2"
           StrokeThickness="1">
    <Rectangle.Fill>
        <SolidColorBrush x:Name="SelectionFill" Color="#FFBADDE9" />
    </Rectangle.Fill>
    <Rectangle.Stroke>
        <SolidColorBrush x:Name="SelectionStroke" Color="#FF6DBDD1" />
    </Rectangle.Stroke>
</Rectangle>
<VisualState x:Name="Selected">
    <Storyboard>
        <DoubleAnimation Duration="0"
                         Storyboard.TargetName="Selection"
                         Storyboard.TargetProperty="Opacity"
                         To=".75" />
    </Storyboard>
</VisualState>
<VisualState x:Name="Selected">
    <!--<Storyboard>
        <DoubleAnimation Duration="0"
                         Storyboard.TargetName="Selection"
                         Storyboard.TargetProperty="Opacity"
                         To=".75" />
    </Storyboard>-->
</VisualState>
<Style x:Key="MyTreeViewItemStyle" TargetType="controls:TreeViewItem">
<controls:TreeView x:Name="treeView" ItemContainerStyle="{StaticResource MyTreeViewItemStyle}">
    <controls:TreeView.ItemTemplate>
        <DataTemplate>
            <data:DataTemplateExtensions.Hierarchy>
                <data:HierarchicalDataTemplate ItemsSource="{Binding Children}" />
            </data:DataTemplateExtensions.Hierarchy>
            <TextBlock Text="{Binding Text}" TextTrimming="CharacterEllipsis" />
        </DataTemplate>
    </controls:TreeView.ItemTemplate>
</controls:TreeView>