C#数独WPF的应用与设计

本文关键字:应用 数独 WPF | 更新日期: 2023-09-27 18:20:26

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

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

网格本身必须是9 x 9,并且有一个editable structure textbox-like,我指的是一个自定义设计的网格(所以我可以像在真正的数独中一样画线-块之间有粗线,单元之间有细线,就像本例中一样:
http://www.mathworks.com/matlabcentral/fx_files/8558/2/sudoku.png(还不能发布图像)

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

So the question is: What controls to use? How to make them textbox-like(considering those are just drawn lines) or how to set their design? Also, maybe there's an easier solution to my problem?

C#数独WPF的应用与设计

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

这就是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个。。。