在 WinUI 3 中,如何防止工具提示遮盖主窗口标题栏?

问题描述 投票:0回答:1

在 WinUI 3 应用程序中,主窗口由一个包含图像控件的网格组成,该控件占据了大部分空间。作为图像控件的一部分,有一个工具提示,其中包含有关悬停时显示的所显示图像的信息。但是,如果用户将鼠标悬停在图像的右上角,则窗口的标题栏可能会被遮挡,这是一个明显的可访问性问题。

如果工具提示相对于图像的 Y 位置小于其自身高度,我尝试将工具提示的位置更改为

Bottom
中的
OnOpened()
,但这不起作用,可能是因为工具提示不是其一部分主视觉层次结构的一部分,或者可能是因为
OnOpened
在事件链中太晚了。

问题如下图所示:

enter image description here

控件的当前 XAML 是:

    <Image
        x:Name="ImagePreview"
        MaxWidth="{x:Bind ImagePreviewer.MaxImageSize.Width, Mode=OneWay}"
        MaxHeight="{x:Bind ImagePreviewer.MaxImageSize.Height, Mode=OneWay}"
        Source="{x:Bind ImagePreviewer.Preview, Mode=OneWay}"
        Visibility="{x:Bind IsPreviewVisible(ImagePreviewer, Previewer.State), Mode=OneWay}">
        <ToolTipService.ToolTip>
            <ToolTip x:Name="TooltipInfo" Content="{x:Bind InfoTooltip, Mode=OneWay}" />
        </ToolTipService.ToolTip>
    </Image>
c# user-interface accessibility winui-3
1个回答
0
投票

您可以将其分成块并更改

Placement

<Grid RowDefinitions="*,*">
    <Image
        Grid.Row="0"
        Grid.RowSpan="2"
        Source="Assets\test.png" />
    <Grid
        Grid.Row="0"
        Background="Transparent">
        <ToolTipService.ToolTip>
            <ToolTip
                Content="Happy Coding!"
                Placement="Bottom" />
        </ToolTipService.ToolTip>
    </Grid>
    <Grid
        Grid.Row="1"
        Background="Transparent">
        <ToolTipService.ToolTip>
            <ToolTip
                Content="Happy Coding!"
                Placement="Top" />
        </ToolTipService.ToolTip>
    </Grid>
</Grid>
© www.soinside.com 2019 - 2024. All rights reserved.