2016-10-03 659 views
0

我不知道爲什麼,但我的ColorZone正在改變它自己的高度。 當我沒有materialDesign:ColorZone時,我所有元素的網格大小的大小爲"*"MaterialDesign ColorZone高度尺寸

但是,當我添加ColorZone,尺寸減少...你知道如何解決它嗎?

<Grid Grid.Column="1" Visibility="Visible" > 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 

     <materialDesign:ColorZone Padding="16" materialDesign:ShadowAssist.ShadowDepth="Depth2" 
             Mode="PrimaryLight"> 
      <Grid> 
       <!-- ALL MY ELEMENT, SIZE CHANGE COZ OF COLORZONE --> 
      </Grid> 
     </materialDesign:ColorZone> 
    </Grid> 

編輯:這是高度,爲什麼這不是所有的空間?當我寫寬度在ColorZone

enter image description here

+0

一些截圖將有所幫助。什麼是大小正在減少,整個事情?網格中的行?你的網格中只有一行嗎? – Joe

回答

1

我複製你的代碼到我的項目,只負責。有些事情我認爲可能會導致您的問題。

enter image description here

  1. 你已經在你的顏色區域得到填充。如果您沒有顏色區域,則不會有16個填充點。這將導致佈局在兩個方向上都要顯示額外的32個空間點,從而增加了尺寸。這是一個大小增加,但不減少。
  2. 請注意顏色區域不會伸展以填充其內容,您是否期待這種行爲?我不確定這是否會導致您期望的尺寸變化,但這可能是一個原因,看起來不像您期望的那樣。

沒有更多的信息(你想要它的樣子,究竟是什麼問題),這是我可以提供的最佳答案。

編輯:感謝您的截圖,這完美澄清了事情。

默認的ColorZone對齊是左上角。我不知道爲什麼,因爲在幾乎所有情況下,我發現我將它對齊以填充所有可用空間,如大多數其他WPF容器(網格,堆棧面板等)。

您需要添加以下內容:

HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 

您colorzone。或者,在您的App.xaml資源中,您可以爲ColorZone創建一個通用樣式,並將其作爲默認值。我真的應該得到解決這個與我的應用程序:

<Style TargetType="materialDesign:ColorZone"> 
    <Setter Property="HorizontalAlignment" Value="Stretch"/> 
    <Setter Property="VerticalAlignment" Value="Stretch"/> 
</Style> 
+0

我編輯了我的問題。是的,你的觀點2正是我要找的。我不知道爲什麼,但是這不是填充整個空間 – Destunk

+0

這說明了一些事情,請參閱我的編輯。 – Joe

+0

這是完美的! Stretch值爲什麼這麼做?我不明白 – Destunk