Странное поведение рендеринга в WPF для всплывающих подсказок в скобках или скобках - PullRequest
1 голос
/ 08 декабря 2010

У меня есть кнопка с всплывающей подсказкой, определяемой следующим образом:

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

При наведении курсора на кнопку во время выполнения всплывающая подсказка отображается как

(. Удалить выбранноеname (Ctrl + F12

Я также попытался определить всплывающую подсказку как

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

Я также попытался использовать скобки вместо скобок.

Во всех случаяхтекст после окончательного закрытия) или] обрезается и перпендикулярно передней части строки с префиксом открытия (или [. Я нагуглил любой намек на особый выход, необходимый для подсказок, и выдохся).где-то упускает очевидное, или я наконец-то теряю свою власть?: - |

Используется версия .Net Framework 4.0.

Ответы [ 3 ]

4 голосов
/ 13 августа 2012

Это немного поздно, но у меня просто была эта проблема, и я не мог найти решение. Мой не включал точку, и добавление пробела не помогло.

У меня была кнопка с содержимым, привязанным к строке в моей модели представления, которая была чем-то вроде «count (0)» и рендерилась как «(count (0»). После некоторого возни и игры с шаблоном кнопки, Я обнаружил, что моя кнопка содержится в StackPanel с установленным параметром FlowDirection RightToLeft. Казалось бы, элемент управления Button наследует это значение от родителя, поэтому, как только я вернул FlowDirection для кнопки обратно в LeftToRight, проблема была решена. *

Я не знаю причину, по которой он изменяет порядок текста при рендеринге, но, по крайней мере, это решение, похоже, решает проблему.

0 голосов
/ 13 июля 2014

Поздно, но у меня есть обходной путь.

Проблема появляется, когда 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>
0 голосов
/ 13 июля 2011

Я только что столкнулся с той же проблемой, я сделал небольшой обходной путь, который просто заключался в том, чтобы поставить точку после точки, и это работает как шарм.

...