C#数独WPF应用与设计

C#数独WPF应用与设计,c#,grid,cell,draw,sudoku,C#,Grid,Cell,Draw,Sudoku,我已经在网上广泛搜索了这个话题,但我仍然找不到一个至少能让我接近我想要实现的目标的解决方案 我想在WPF和C#中创建一个数独应用程序,我的主要问题是创建网格 网格本身必须是9 x 9,并且有一个类似的可编辑结构文本框,我指的是一个定制设计的网格(因此我可以像在真正的数独游戏中那样绘制线条-块之间的线条较粗,单元之间的线条较小,如本例所示: (还不能发布图片) 我希望每个字段都像文本框一样工作,这样我就可以在其中输入值并读取它们,然后将网格变成一个单元格数组 所以问题是:使用什么控件? 如何使它们

我已经在网上广泛搜索了这个话题,但我仍然找不到一个至少能让我接近我想要实现的目标的解决方案

我想在
WPF和C#
中创建一个数独应用程序,我的主要问题是创建网格

网格本身必须是
9 x 9
,并且有一个类似
的可编辑结构文本框,我指的是一个定制设计的网格(因此我可以像在真正的数独游戏中那样绘制线条-块之间的线条较粗,单元之间的线条较小,如本例所示:
(还不能发布图片)

我希望每个字段都像文本框一样工作,这样我就可以在其中输入值并读取它们,然后将网格变成一个单元格数组

所以问题是:使用什么控件?
如何使它们像文本框一样(考虑到它们只是画的线)或者如何设置它们的设计?

另外,也许有一个更简单的方法来解决我的问题?

如果你想保持简单,你可以在网格中使用文本框…在主网格中有一个3x3用户控件,将边框厚度设置为3,在每个控件中,有一个3x3网格,其中文本框的厚度设置为1,或者虚线,或者任何适合你的东西。。。

以下是您的usercontrol在xaml中的使用方式:

<Border BorderThickness="3" BorderBrush="Black">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition>    </ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
        <RowDefinition></RowDefinition>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
        <TextBox Grid.Row="0" Grid.Column="0" BorderBrush="Blue" BorderThickness="1"></TextBox>
        <TextBox Grid.Row="0" Grid.Column="1" BorderBrush="Blue" BorderThickness="1"></TextBox>
        <TextBox Grid.Row="0" Grid.Column="2" BorderBrush="Blue" BorderThickness="1"></TextBox>
        <TextBox Grid.Row="1" Grid.Column="0" BorderBrush="Blue" BorderThickness="1"></TextBox>
        <TextBox Grid.Row="1" Grid.Column="1" BorderBrush="Blue" BorderThickness="1"></TextBox>
        <TextBox Grid.Row="1" Grid.Column="2" BorderBrush="Blue" BorderThickness="1"></TextBox>
        <TextBox Grid.Row="2" Grid.Column="0" BorderBrush="Blue" BorderThickness="1"></TextBox>
        <TextBox Grid.Row="2" Grid.Column="1" BorderBrush="Blue" BorderThickness="1"></TextBox>
        <TextBox Grid.Row="2" Grid.Column="2" BorderBrush="Blue" BorderThickness="1"></TextBox>
</Grid>


只需要3x3个…

一种方法是嵌套3x3 UniformGrid控件。当然以前也有过。