XAML堆叠面板分割
在XAML中,是否可以在StackPanel控件(或任何容器)中用行分隔行和列?例如,它看起来像一个棋盘?当用户调整窗口大小时,面板也会调整大小。内置的XAML堆叠面板分割,xaml,stackpanel,separator,Xaml,Stackpanel,Separator,在XAML中,是否可以在StackPanel控件(或任何容器)中用行分隔行和列?例如,它看起来像一个棋盘?当用户调整窗口大小时,面板也会调整大小。内置的面板中唯一一个画线的是网格,上面设置了ShowGridLines=“True”,但画的线只是一种难看的虚线,无法更改,并且只适合调试 要绘制自己的线条,您只需在每个单元格中添加相同的边框,或者在希望它们在整个布局中延伸的情况下,在每个行或列中添加相同的边框即可。最简单的棋盘布局方法是使用UniformGrid: <UniformGrid R
面板中唯一一个画线的是网格,上面设置了ShowGridLines=“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>
也有很多可能的变化,这取决于你到底想要从网格中得到什么