2016-11-28 73 views
0

我想写一个自动生成的SudokuBoard,它是在代码后面生成的。但是对于布局,我希望将其设置到中央位置的DockPanel上。 有没有我可以合并它的选项?结合XAML与C#

目前我的XAML没有任何属性。所以,我在View像这样生成的网格:(从xaml.cs文件)

this.Content = __grid; 

第二件事,有没有任何选择我的文本字段设置只是一个数字一个,或者更好,我可以很容易地改变允许字符? 只需要1-9号允许

回答

0

在第二个答案是

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值传递到正则表达式方法中。写自己的正则表达式方法。

+0

我可以写在我的循环中的每个文本框在C#?像“textbox.TextChanged =”txtNo_TextChanged_1“;'?或者这是不可能的?到目前为止,没有选择在xaml中执行此操作 – NoIdea123

0

为了我的第二个,我这样做是这样的:在 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中