2014-04-10 53 views
0

所以,我有一個奇怪的行爲。也許這是故意的,但我似乎無法弄清楚。我在Blend中工作不多,在此之前主要是手動編碼XAML。我正在嘗試爲MenuItem創建一個自定義模板,當它被蒙上陰影時,我需要將其背景變爲特定顏色。所以,我在OuterBorder上做了MouseEnter事件觸發器。當我嘗試改變顏色時,無論我將其設置爲什麼顏色,它都會立即變黑。這發生在模板中的所有控件上,而不管我選擇哪一個。所以,我必須手動進入XAML並將其更改爲特定顏色。在事件觸發器中編輯故事板上的模板背景將背景變成黑色

在我將其設置爲XAML代碼中的特定顏色之後,如果嘗試通過「屬性」菜單更改它,它將回到我在代碼中設置的顏色。

如果我將模板導出到ResourceDictionary,它可以讓我編輯所有內容,就好像沒有錯誤發生一樣,但是當應用模板時,MenuItem控件的默認背景會變黑。

順便說一句,這是摻合爲Visual Studio 2013年

任何想法是怎麼回事?

我最終做的並不是創建一個單獨的觸發器,而是編輯模板的現有觸發器。哪個效果很好。我唯一擔心的是默認的沒有填充,所以我沒有看到兩者之間有什麼衝突。不知道有人知道嗎?

+0

只是一個提示,切換可見性的東西,而不是不透明度是性能的考慮,甚至在各種[性能提示文檔](http://msdn.microsoft.com/en-us/library/cc189071(v = vs.95).aspx#use_visibility)以獲得更好的實踐。乾杯 –

回答

0

想通了。傻我。我試圖改變不存在的背景。所以,它必須爲故事板創建背景,並將其設置爲默認黑色。我所做的是創建一個背景,並將其設置爲不透明度爲0%,然後改變它。按預期工作。