【问题标题】:Weird rendering behavior in WPF for ToolTips with brackets or parenthesesWPF 中带有括号或圆括号的工具提示的奇怪呈现行为
【发布时间】:2023-03-10 21:59:01
【问题描述】:

我有一个按钮,其工具提示定义如下:

<Button Width="25" ToolTip="Delete selected name (Ctrl + F12).">-</Button>

当我在运行时将鼠标悬停在按钮上时,工具提示显示为

(.删除选中的名字(Ctrl + F12

我也尝试将工具提示定义为

<Button Width="25">
  <Button.ToolTip>Delete selected name (Ctrl + F12).</Button.ToolTip>
  -
</Button>

我也尝试过使用方括号代替圆括号。

在所有情况下,最后关闭 ) 或 ] 后的文本都被截断并附加到字符串的前面,以开头 ( 或 [.干了。我是在某个地方错过了明显的东西,还是我最终会失去控制?:-|

这是使用 .Net 框架的 4.0 版本。

【问题讨论】:

  • 很奇怪,但我无法重现您的问题。你在解释你的问题时忘记了什么吗?或者我很幸运。

标签: .net wpf xaml wpf-controls tooltip


【解决方案1】:

这有点晚了,但我刚刚遇到这个问题,找不到解决方案。我的不涉及句号,添加空格也无济于事。

我有一个 Button,其内容绑定到我的视图模型上的字符串,类似于“count (0)”并呈现为“( count (0”)。经过一些修补并使用按钮的模板后,我发现我的按钮包含在 StackPanel 中,它的 FlowDirection 设置为 RightToLeft。看起来 Button 控件从父控件继承了这个值,所以只要我将 Button 的 FlowDirection 设置回 LeftToRight,问题就解决了。

我不知道为什么它会改变渲染时文本的顺序的根本原因,但至少这个解决方案似乎解决了这个问题。

【讨论】:

  • 正是我同样的问题!谢谢
【解决方案2】:

我刚刚遇到了同样的问题,我做了一些解决方法,就是在一个点之后放一个空格,它就像一个魅力。

【讨论】:

    【解决方案3】:

    晚了,但我有解决方法。

    当 TextBlock/Label 使用 StackPanel 与流 RoghtToLeft 包装时出现问题。 例如:

    <StackPanel Orientation="Horizontal" FlowDirection="RightToLeft">
        <Label Content="New document (Z) " Width="200" />
    </StackPanel>
    

    解决方法是使用附加属性:

    <StackPanel Orientation="Horizontal" FlowDirection="RightToLeft">
        <Label Content="New document (Z) " Width="200" StackPanel.FlowDirection="LeftToRight" />
    </StackPanel>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-29
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 2014-01-11
      相关资源
      最近更新 更多