WPF标签:使用基础控件的工具提示

时间:2018-09-21 06:06:41

标签: c# wpf

我有一个WPF标签,位于矩形上方。这些矩形具有单独的工具提示。我想显示基础矩形的工具提示,而忽略标签的工具提示,如何在wpf / c#中执行此操作。

3 个答案:

答案 0 :(得分:1)

您可以将标签的true属性设置为IsHitTestVisible,以便矩形将接收来自鼠标而不是标签的输入。

答案 1 :(得分:0)

没有代码,很难告诉您您实际希望如何做

我只会对工具提示使用相同的方法

main:
    push    rbp
    mov     rbp, rsp
    xor     eax, eax
    mov     ecx, 128
    mov     dword ptr [rbp - 4], 0
    mov     dword ptr [rbp - 8], 100
    mov     edx, dword ptr [rbp - 8]  # Start of modulo boilerplater
    mov     dword ptr [rbp - 20], eax 
    mov     eax, edx
    cdq
    idiv    ecx                       # Modulo CPU instruction
    mov     dword ptr [rbp - 12], edx # End of modulo sequence
    mov     ecx, dword ptr [rbp - 8]  # Start of shift boilerplate
    sar     ecx, 7                    # Shift CPU instruction
    mov     dword ptr [rbp - 16], ecx # End of shift sequence
    mov     ecx, dword ptr [rbp - 20]
    mov     eax, ecx
    pop     rbp
    ret

答案 2 :(得分:0)

我想你可能想要这样的东西:

enter image description here

这只是纯xaml:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>

    <Rectangle Grid.Row="0"
               ToolTip="Rectangle 1"
               Fill="Red" />

    <Label Grid.Column="0"
           Content="Label"
           HorizontalAlignment="Left"
           VerticalAlignment="Top"
           Width="50"
           Height="30"
           Background="LightBlue"/>

    <Rectangle Grid.Column="1"
               ToolTip="Rectangle 2"
               Fill="IndianRed" />

    <Label Grid.Column="1"
           Content="Label"
           HorizontalAlignment="Left"
           VerticalAlignment="Top"
           Width="50"
           Height="30"
           Background="LightBlue"/>

    <Rectangle Grid.Column="2"
               ToolTip="Rectangle 3"
               Fill="Red" />

    <Label Grid.Column="2"
           Content="Label"
           HorizontalAlignment="Left"
           VerticalAlignment="Top"
           Width="50"
           Height="30"
           Background="LightBlue"/>
</Grid>

当然,您可以找到更好的方法来定位标签并定义标签的大小以得到所需的标签,这只是一个示例。