2015-02-10 52 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() – 2015-02-10 14:26:08

+0

您可以將ImageBrush用作標題欄的背景。 – 2015-02-10 16:32:22

回答

2

這是您的要求更好的解決方案。您應該使用TitleTemplate而不是LeftWindowCommands

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

希望有所幫助。

但是,順便說一下,爲什麼不使用簡單的圖像/圖標(PNG)爲Icon屬性?並使用Title作爲窗口標題?

+0

我同意,自己寫頭文件是很合理的,顯然這是不可接受的。 [抵抗無窮無盡] – 2015-02-11 11:53:03