Выровнять по правому краю заголовок окна WPF - PullRequest
1 голос
/ 28 октября 2009

В настоящее время я создаю WPF Exception Window, во многом в стиле MessageBox (методы статического показа). Пытаясь аналогично Style, я создал перечисление ExceptionWindowOptions, которое содержит значение RightAlign.

Когда флаг RightAlign помечен в классе MessageBox, заголовок окна выравнивается вправо (рядом с блоком управления (свернуть, макс, закрыть)), поэтому я пытаюсь эмулировать это поведение .

Я провел максимально возможное расследование и не могу найти решение WPF.

Я знаком с взаимодействием с нативными методами, поскольку я использую GetWindowLong и SetWindowLong для опции RtlReading, но мне не удалось найти что-либо, чтобы изменить расположение заголовка окна.

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 28 октября 2009

Взгляните на библиотеку FluidKit от Павана Подила. В частности, вас может заинтересовать GlassWindow. Основная идея заключается в том, что вы переопределяете стиль окна с нуля. Конечно, для этого нужно настроить стиль для различных тем, но по крайней мере это решение, если вы не найдете ничего другого.

0 голосов
/ 25 августа 2011

Я считаю, что вы хотите установить Window.FlowDirection . Это установит его для всего содержимого в окне, включая кнопки, текстовые поля и т. Д., Так что если вы ТОЛЬКО хотите сделать строку заголовка RTL, вы можете иметь окно, содержащее панель, которая сбросит его на LTR (или любой другой ).

Подтвердите это, возможно, нет. Похоже, это RTL ВСЕ строки заголовка, включая блок управления и значок!

...