2015-02-10 2 views
1

Я не вижу очевидного решения этого. Мне был предоставлен файл изображения, который содержит как «значок», так и текст, который будет использоваться в строке заголовка.Установка изображения в качестве фона строки заголовка

В идеале я хотел бы просто отключить значок, использовать изображение в строке заголовка и сделать с ним. У меня есть полу-решение:

<Controls:MetroWindow 
ShowIconOnTitleBar="False"  
    WindowTitleBrush="Black" 
> 
<Controls:MetroWindow.LeftWindowCommands> 
    <Controls:WindowCommands> 
     <Image Source="/StaticResources/Masthead.png"></Image> 
    </Controls:WindowCommands> 
</Controls:MetroWindow.LeftWindowCommands> 

Но это не очень эффективно. Теперь нет перетаскивания для половины строки заголовка и т. Д. Есть ли, очевидно, лучшее решение? Должен ли я просто вернуться и использовать только значок и написать название сам?

Любых хитрых идей будет оценен :)

+0

Вы играли с HitTestVisible? Если фон вашего изображения прозрачен, вы можете направить событие клика на изображение на метод DragMove() вашего окна. Или вы можете разбить изображение и создать два элемента (значок и текст) и просто перенаправить щелчок на текст в DragMove() –

+0

Вы можете использовать ImageBrush в качестве фона для своей строки заголовка. –

ответ

2

Вот лучшим решение для вашего требования. Вы должны использовать TitleTemplate вместо LeftWindowCommands.

<Controls:MetroWindow.TitleTemplate> 
    <DataTemplate> 
     <Image Source="/StaticResources/Masthead.png" HorizontalAlignment="Left" /> 
    </DataTemplate> 
</Controls:MetroWindow.TitleTemplate> 

Надеюсь, что это поможет.

Но, кстати, почему бы не использовать простой образ/значок (png) для свойства Icon? И используя Title для названия окна?

+0

Согласен, логично было бы просто написать заголовок сам, видимо, это неприемлемо. [Сопротивление бесконечно бесполезно] –

Смежные вопросы