【问题标题】:How to set a different Tooltip over each Grid Row in WPF?如何在 WPF 中的每个网格行上设置不同的工具提示?
【发布时间】:2020-06-19 07:19:53
【问题描述】:

我想为每个 Grid 行显示不同的工具提示。每行也由多个元素组成:TextBlock、TextBox 和 Button。如果我直接在 Grid RowDefinition 上添加工具提示,则不会显示工具提示。

<Grid.RowDefinitions>
  <RowDefinition ToolTip="My Tooltip 1" />
  <RowDefinition ToolTip="My Tooltip 2" />
  <RowDefinition ToolTip="My Tooltip 3" />
</Grid.RowDefinitions>

每一行包含以下元素:

<TextBlock
  Grid.Row="1"
  Grid.Column="1"
  Padding="10"
  VerticalAlignment="Center"
  FontFamily="SegoeUI"
  FontSize="16"
  Text="TextBlock" />

<TextBox
  Grid.Row="1"
  Grid.Column="2"
  Width="450"
  Height="30"
  Margin="0,0,20,0"
  VerticalContentAlignment="Center"
  FontFamily="SegoeUI"
  FontSize="15"
  Text="TextBox" />

<Button
  Grid.Row="1"
  Grid.Column="3"
  HorizontalAlignment="Left"
  Command="{Binding CompileFlagsAddDataCommand}"
  Style="{StaticResource SettingsButton}">
  <Button.Content>
    <Image Source="{StaticResource AddInputImage}" />
  </Button.Content>
</Button>

【问题讨论】:

    标签: wpf xaml grid tooltip row


    【解决方案1】:

    如果将所有这些对象包装在网格中,则只需设置网格对象的 ToolTip。在现有网格中使用您拥有的行定义。

    <Grid Grid.Row=0 ToolTip="Row 0 Tool Tip">
         <TextBlock Grid.Column="0"></TextBlock>
         <TextBox Grid.Column="1"></TextBox>
         <Button Grid.Column="2"></Button>
    </Grid>
    
    <Grid Grid.Row=1 ToolTip="Row 1 Tool Tip">
         <TextBlock Grid.Column="0"></TextBlock>
         <TextBox Grid.Column="1"></TextBox>
         <Button Grid.Column="2"></Button>
    </Grid>
    
    <Grid Grid.Row=2 ToolTip="Row 2 Tool Tip">
         <TextBlock Grid.Column="0"></TextBlock>
         <TextBox Grid.Column="1"></TextBox>
         <Button Grid.Column="2"></Button>
    </Grid>
    

    这应该会显示工具提示(我试过了)。但是如果你这样做,我认为你必须将你的列定义复制到每一行的网格中。如果列是在外部网格中定义的,我认为对象找不到它们。

    【讨论】:

    • 我非常同意你的看法。如果您只想添加工具提示,您也可以使用 WrapPanel,因为它不太复杂。我正在寻找一种使 Grid RowDefinition 中的 Tooltip 属性起作用的方法。对我来说,如果您需要使用这些类型的技巧来显示一个简单的工具提示,这似乎是 Grid 对象内部的设计错误
    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 2012-12-11
    • 2010-09-16
    • 1970-01-01
    相关资源
    最近更新 更多