C# 在代码隐藏中的单个事件中访问多个文本框InputScope属性
我正在从事一个UWP项目,在该项目中,我在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
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()));