2013-02-16 25 views
0

XAML有可能在一個StackPanel控件(或任何一般的容器)中分隔行和列嗎?所以它看起來像棋盤一樣?此外,當用戶調整窗口大小時,面板也會調整大小。XAML StackPanel分爲

回答

2

內置的​​繪製線的只有一個是GridShowGridLines="True"一套就可以了,但畫的線是不能被改變,是真的只用於調試目的只是好樣的醜陋虛線。

要繪製自己的線條,您可以將相同的邊框添加到每個單元格或每個行或列中,如果您希望它們橫跨整個佈局。做一個棋盤佈局的最簡單方法是使用UniformGrid

<UniformGrid Rows="2" Columns="2"> 
    <Border BorderBrush="Gray" BorderThickness="1" /> 
    <Border BorderBrush="Gray" BorderThickness="1" /> 
    <Border BorderBrush="Gray" BorderThickness="1" /> 
    <Border BorderBrush="Gray" BorderThickness="1" /> 
</UniformGrid> 

對於一個完整的主板可以節省打字和使用綁定到一些64項集合一個ItemsControl與行的模板:

<ItemsControl ItemsSource="{Binding ListOf64Items}"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Border BorderBrush="Gray" BorderThickness="1"/> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
    <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <UniformGrid Rows="8" Columns="8"/> 
     </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
</ItemsControl> 

也有很多可能的變化,取決於你想要什麼網格。