XAML堆叠面板分割

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

在XAML中,是否可以在StackPanel控件(或任何容器)中用行分隔行和列?例如,它看起来像一个棋盘?当用户调整窗口大小时,面板也会调整大小。

内置的
面板中唯一一个画线的是
网格,上面设置了
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>

也有很多可能的变化,这取决于你到底想要从网格中得到什么