0

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

我想在 中创建一个数独应用程序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?

4

1 回答 1

2

如果你想保持简单,你总是可以在网格内使用文本框......在主网格中有一个 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...

于 2013-10-25T02:44:24.413 回答