Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在代码隐藏中的单个事件中访问多个文本框InputScope属性_C#_Xaml_Uwp Xaml - Fatal编程技术网

C# 在代码隐藏中的单个事件中访问多个文本框InputScope属性

C# 在代码隐藏中的单个事件中访问多个文本框InputScope属性,c#,xaml,uwp-xaml,C#,Xaml,Uwp Xaml,我正在从事一个UWP项目,在该项目中,我在UI中有多个文本框,我将x:Name属性附加在这些文本框中。我用一个KeyButton\u Down()事件绑定了所有文本框。我想实现将每个文本框的InputScope属性设置为Number。每个文本框的XAML都设置了InputScope=“Number”。在代码隐藏中,我无法访问特定文本框的InputScope属性。 这是我的密码 private void TextBox_KeyDown(object sender, KeyRoutedEventAr

我正在从事一个UWP项目,在该项目中,我在
UI
中有多个文本框,我将
x:Name
属性附加在这些文本框中。我用一个
KeyButton\u Down()
事件绑定了所有
文本框。我想实现将每个
文本框的
InputScope
属性设置为
Number
。每个文本框的XAML都设置了
InputScope=“Number”
。在代码隐藏中,我无法访问特定
文本框
的InputScope属性。 这是我的密码

private void TextBox_KeyDown(object sender, KeyRoutedEventArgs e)
        {
            TextBox tb = (TextBox)sender;

            InputScope scope = new InputScope();
            InputScopeName name = new InputScopeName();
            name.NameValue = InputScopeNameValue.Number;
            scope.Names.Add(name);
            string textBoxName = tb.Name;
          //  TextBox text = new TextBox();

            //this line is not working for me
           // textBoxName.InputScope = scope;
            var state = CoreWindow.GetForCurrentThread().GetKeyState(VirtualKey.Shift);
            var newState = (state & CoreVirtualKeyStates.Down) == CoreVirtualKeyStates.Down;


            if ((!char.IsControl(Convert.ToChar(e.Key)) && !char.IsDigit(Convert.ToChar(e.Key)) && (Convert.ToChar(e.Key) != '.') && !newState))
            {
                e.Handled = true;
            }

        }

我会直接使用发送者(它指向您想要访问的特定
文本框)


您的
tb
是到
TextBox
casted sender对象…

我会直接使用sender(它指向您想要访问的特定
TextBox


您的
tb
是要
TextBox
强制转换发件人对象…

它是否引发异常?@Laith我想使用(发件人)的TextBox名称;tb.Name.Visibility不可用there@Apoorv:如果要访问某些属性,则不需要该名称。tb是您的
文本框
铸造的特定对象。您可以将属性直接用作:
tb.Visibility
。就像我在回答中发布的那样……它会引发异常吗?@Laith我想使用(发件人)的文本框名称;tb.Name.Visibility不可用there@Apoorv:如果要访问某些属性,则不需要该名称。tb是您的
文本框
铸造的特定对象。您可以将属性直接用作:
tb.Visibility
。就像我在我的回答中所说的……这太完美了!我只是糊涂了。谢谢你的帮助这太完美了!我只是糊涂了。谢谢你的帮助
tb.InputScope = new InputScope();
tb.InputScope.Names.Clear();
tb.InputScope.Names.Add(new InputScopeNameConverter().ConvertFrom(InputScopeNameValue.Number.ToString()));