我希望找到一種方法來刪除popup(子)'MenuItem中的左側空間,並且只讓它們佔用所需的空間,而不必爲此創建一個全新的模板控制。在這種情況下,我可以使用任何類型的依賴屬性還是具有這種屬性?我試着創建新的模板,並試圖完成它的繁瑣,而且看起來像是過度殺傷。Size MenuItem以適應XAML中的內容
如果有人有任何建議(特別是如何擺脫'MenuItem'左邊的那個討厭的盒子而沒有製作一個新的模板),請讓我知道。任何幫助,將不勝感激。
我希望找到一種方法來刪除popup(子)'MenuItem中的左側空間,並且只讓它們佔用所需的空間,而不必爲此創建一個全新的模板控制。在這種情況下,我可以使用任何類型的依賴屬性還是具有這種屬性?我試着創建新的模板,並試圖完成它的繁瑣,而且看起來像是過度殺傷。Size MenuItem以適應XAML中的內容
如果有人有任何建議(特別是如何擺脫'MenuItem'左邊的那個討厭的盒子而沒有製作一個新的模板),請讓我知道。任何幫助,將不勝感激。
有一個竅門。看它是否解決你的目的 設置ItemsPanel的風格和你的資源
<Style TargetType="{x:Type MenuItem}">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Margin="-20,0,0,0" Background="Gray"></StackPanel>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
<Menu>
<MenuItem Header="MI1">
<MenuItem Header="MI1"></MenuItem>
<MenuItem Header="MI2"></MenuItem>
</MenuItem>
<MenuItem Header="MI2"></MenuItem>
</Menu>
不要以爲你可以做到這一點,而無需重新設想它。 Here's another question that asked for the icon area to be removed,但也要求更多。他們必須重新對其進行模板化,答案包括他們使用的模板,這樣可以緩解您的過程。
這是另一個answer from MSDN forums,我想只是刪除圖標區域。
不理想,但沒有「ShowIconArea」屬性或任何東西。
感謝您的答覆。這是一個恥辱,沒有一個更有效的方式來處理這個問題。 –
那麼添加它,我發現自己在一個艱難的局面。這兩個建議的答案確實可以完成工作,但我只能接受一個......這對我來說很困難,因爲Tim的答案仍然需要使用修改後的模板,但從長遠來看可以提供更大的靈活性,而Nitesh的答案實際上是針對這個問題與問題完全相同,但以一種不太優雅和可塑的方式。 –
這個對我來說真的很難,但是因爲Nitesh的回答完全遵循了這個問題的標準(沒有定製模板),我會接受他的回答。蒂姆,你的回答也非常有幫助,我很樂意提高它的評價。這是我無法接受的一種恥辱。不過,我要感謝你們兩位的幫助。 –
沒什麼大不了的。只是希望你能從這兩個答案中得到一些你可以使用的東西。 – Tim