【问题标题】:How to add multiple values in ToolTip in WPF?如何在 WPF 的 ToolTip 中添加多个值?
【发布时间】:2015-12-03 11:20:50
【问题描述】:

我想从数据网格的 2 列中添加数据并使用单个工具提示显示它们。我只能从 1 列中获得结果,但是当我尝试连接时,这些值没有显示出来。

<TextBlock Text="{Binding Message, Mode=OneWay}" Margin="4 0" 
           VerticalAlignment="Center" HorizontalAlignment="Stretch"  >
   <ToolTip>
        <MultiBinding StringFormat="{}{0} - {1}">
                   <Binding RelativeSource="{RelativeSource Self}" Path="SourceName"/>
                   <Binding RelativeSource="{RelativeSource Self}" Path="Message"/>
         </MultiBinding>
   </ToolTip>
</TextBlock>

SourceNameMessage 是从属性中提取的值。 如何在一个 Tooltip 中同时显示它们?

【问题讨论】:

  • 您是否遇到任何绑定异常?
  • 如果只使用一个绑定会显示吗?

标签: c# .net wpf tooltip


【解决方案1】:

ToolTip 应该是TextBlock 元素的一部分

<TextBlock Text="{Binding Message, Mode=OneWay}" Margin="4 0" 
           VerticalAlignment="Center" HorizontalAlignment="Stretch"  >
   <TextBlock.ToolTip>
        <TextBlock>
             <TextBlock.Text>
                  <MultiBinding StringFormat="{}{0} - {1}">
                      <Binding Path="SourceName"/>
                      <Binding Path="Message" />
                  </MultiBinding>
             </TextBlock.Text>
        </TextBlock>
   </TextBlock.ToolTip>
</TextBlock>

如果您想从 DataContext 而不是从可视元素获取信息,可能还应该更改绑定。

【讨论】:

  • &lt;Binding RelativeSource="{RelativeSource Self}" Path="SourceName"/&gt; 会起作用吗?因为在这种情况下,框架将在 TextBlock 中查找 SourceName 和 Message 属性,而不是控件的 DataContext。
  • @user1672994 感谢您的提示。当然,如果信息来自DataContext,则应该更改绑定
猜你喜欢
  • 1970-01-01
  • 2014-11-14
  • 2021-12-06
  • 2019-03-08
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-21
  • 2011-09-08
相关资源
最近更新 更多