Свойство Panel.ZIndex в дереве в wpf - PullRequest
1 голос
/ 03 марта 2011

Хотелось бы, чтобы древовидный элемент перекрывал другие элементы, когда я наводил курсор мыши.
Для этого я сделал родительский элемент (в моем случае его Border) в HierarchicalDataTemplate, чтобы ZIndex был равен 0, и изменил это значение на 1, когда пользователь наводит указатель мыши в разделе HierarchicalDataTemplate.Triggers

<HierarchicalDataTemplate  DataType="{x:Type d:MyClass}">
    <Border Name="brd" CornerRadius="5" BorderThickness="1" Padding="3" Margin="0,0,60,0" Panel.ZIndex="0" >
        <StackPanel Orientation="Horizontal" Margin="0,0,0,0" > 

            <Image Source="../Images/icon.jpg"  Height="30"></Image>

            <TextBlock TextAlignment="Center" Text="{Binding Text}" 
                   Margin="3,0,10,0" >
            </TextBlock>  

            <Image Margin="0,0,3,0" 
                   Source="../Images/Img1.jpg" Height="30" />

            <Image Margin="0,0,0,0" 
                   Source="../Images/Img2" Height="30"/>
        </StackPanel>
    </Border>
    <HierarchicalDataTemplate.Triggers>
        <Trigger SourceName="brd" Property="IsMouseOver" Value="True">
            <Setter TargetName="brd" Property="Panel.ZIndex" Value="1"></Setter>
        </Trigger>            
    </HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>



Вся идея для реализации этого была:
Всякий раз, когда пользователь наводит указатель мыши на элемент дерева, элемент должен перекрывать другие элементы управления и должен быть полностью видимым. Пример: если элемент представляет собой длинный текст, пользователь не должен быть вынужден использовать полосу прокрутки; вместо этого, если он просто указывает на него, элемент должен перекрывать другие элементы управления для отображения всего элемента.

Но я не смог добиться этого, используя указанные выше триггеры.

Пожалуйста, помогите мне сделать это.

1 Ответ

0 голосов
/ 03 марта 2011

Вы пробовали использовать ToolTip?Я сам не пробовал, но после просмотра этого я убежден, что можно определить DataTemplate, который можно использовать в этом свойстве , чтобы элемент отображалсяВам нравится.

Надеюсь, это поможет.

С уважением

...