【问题标题】:WPF ToolTip and text wrapping for expander扩展器的 WPF 工具提示和文本换行
【发布时间】:2014-04-26 09:27:59
【问题描述】:

我有一个扩展器:

 <Expander Header="{Binding Name}" IsExpanded="False" >

如何为其添加工具提示?

还有一个问题,标题的名称很长,由于某种原因,扩展器在名称的中间留下了一个字符。

例如:

  • 名字是 - something_second
  • 显示显示:somethingsecond

可能是什么?

我想过让它包裹文本,但不知道该怎么做。

编辑:

好的,所以我设法制作了一个工具提示,我使用了一个静态资源。 但是还是因为一些不合理的原因,文本被剪掉了

【问题讨论】:

标签: wpf tooltip expander


【解决方案1】:

当标签中有下划线时,WPF 将其解释为访问键。解决此问题的一种方法是使用双下划线,它会转义访问字符:

public string Name
{
    get { return _name; }
    set { _name = (value ?? "").Replace("_", "__");
}
private string _name;

或者:可以使用ContentPresenter.RecognizesAccessKey 关闭单个控件的访问字符。不幸的是,要使用此功能,您通常必须复制/修改默认控件模板并将任何 ContentPresenters 的“RecognizesAccessKey”属性设置为 false。以Expander 为例,您需要修改default template 的这一部分:

<ContentPresenter Grid.Column="1"
                  Margin="4"
                  ContentSource="Header"
                  RecognizesAccessKey="False" />

另一种选择(实际上可能是最简单的)。使用TextBlock 作为标头——这将阻止使用访问密钥:

<Expander IsExpanded="False">
    <Expander.Header>
        <TextBlock Text="{Binding Name}" />
    </Expander.Header>
</Expander>

相关问题

【讨论】:

  • 非常感谢您的详细解答!最后我选择了简单的方法,它奏效了。
猜你喜欢
  • 1970-01-01
  • 2013-01-23
  • 1970-01-01
  • 2016-07-13
  • 1970-01-01
  • 2021-02-04
  • 2022-12-24
  • 2013-01-07
  • 1970-01-01
相关资源
最近更新 更多