【问题标题】:Combining XAML with c#将 XAML 与 C# 相结合
【发布时间】:2016-11-29 21:39:17
【问题描述】:

我正在尝试编写一个自动生成的数独板,它是在后面的代码中生成的。但是对于布局,我想将其设置为中心位置的 Dockpanel。 有什么可以组合的吗?

目前我的XAML 没有任何属性。所以我在视图中设置了生成的网格,如下所示:(来自 xaml.cs 文件)

this.Content = __grid;

第二件事,是否有任何选项可以将我的 Textfield 设置为数字,或者更好的是我可以轻松更改允许的字符? 只需要允许 1-9 的数字

【问题讨论】:

    标签: c# xaml textbox code-behind


    【解决方案1】:

    对于我的第二个,我是这样做的: 在 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;
            }
        }
    }
    

    仍然不知道如何在停靠面板中进行设置

    【讨论】:

      【解决方案2】:

      第二个答案是

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

      【讨论】:

      • 我可以在循环中为 c# 中的每个文本框编写它吗? textbox.TextChanged = "txtNo_TextChanged_1"; 之类的东西?或者这种方式不可能?到目前为止,还没有在 xaml 中执行此操作的选项
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 2018-10-09
      • 2012-05-31
      • 1970-01-01
      • 2019-12-02
      • 2012-05-19
      • 2020-05-04
      相关资源
      最近更新 更多