我想写一个自动生成的SudokuBoard,它是在代码后面生成的。但是对于布局,我希望将其设置到中央位置的DockPanel上。 有没有我可以合并它的选项?结合XAML与C#
目前我的XAML
没有任何属性。所以,我在View像这样生成的网格:(从xaml.cs文件)
this.Content = __grid;
第二件事,有没有任何选择我的文本字段设置只是一个数字一个,或者更好,我可以很容易地改变允许字符? 只需要1-9号允许
我想写一个自动生成的SudokuBoard,它是在代码后面生成的。但是对于布局,我希望将其设置到中央位置的DockPanel上。 有没有我可以合并它的选项?结合XAML与C#
目前我的XAML
没有任何属性。所以,我在View像这样生成的网格:(从xaml.cs文件)
this.Content = __grid;
第二件事,有没有任何选择我的文本字段设置只是一个数字一个,或者更好,我可以很容易地改变允许字符? 只需要1-9号允许
在第二个答案是
XAML:
<TextBox Name="txtNo" TextChanged="txtNo_TextChanged_1" MaxLength="1" />
XAML.CS:
private void txtNo_TextChanged_1(object sender, TextChangedEventArgs e)
{
TextBox txtnum = sender as TextBox;
if (txtnum != null && txtnum.Text != null)
{
try
{
var num = Convert.ToInt32(txtnum.Text);
txtnum.Text = num.ToString();
}
catch (Exception ex)
{
txtnum.Text = string.Empty;
e.Handled = true;
}
}
}
或
相同事件,请将txtnum.Text值传递到正则表达式方法中。写自己的正则表达式方法。
为了我的第二个,我这样做是这样的:在 xaml.cs
__txtBoxes[__col][__row].TextChanged += new TextChangedEventHandler(InputChanged);
在后面的代码:
protected void InputChanged(object sender, EventArgs e)
{
TextBox tb = new TextBox();
tb = sender as TextBox;
if (tb != null && tb.Text != null)
{
try
{
var num = Convert.ToInt32(tb.Text);
tb.Text = num.ToString();
}
catch (Exception ex)
{
tb.Text = String.Empty;
}
}
}
还是鸵鸟政策知道如何设置这个在DockPanel中
我可以写在我的循环中的每个文本框在C#?像“textbox.TextChanged =”txtNo_TextChanged_1“;'?或者这是不可能的?到目前为止,没有选择在xaml中执行此操作 – NoIdea123