Mil*_*tle 5 c# windows-8 winrt-xaml windows-store-apps
说我添加了很多文本框.如何迭代或循环遍历所有文本框并进行一些检查.检查每个文本框的内容是否为数字.
下面是winForm的代码,如何在WinRT中进行操作?
foreach (Control item in GroupBox1.Controls)
{
if (item.GetType() == typeof(TextBox))
{
if (string.IsNullOrEmpty( ((TextBox)item).Text))
{
//Empty text in this box
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
你可以这样做。每个页面都会有一个容器UIElements,所以我使用Grid. 你也可以用也做同样的事情StackPanel。我正在遍历它的孩子并检查它是否Textbox是。
XAML
<Grid x:Name="rootGrid" Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<TextBox Height="51" Margin="210,103,0,0" Text="TextBox" Width="135"/>
<TextBox Height="51" Margin="459,149,0,0" Text="TextBox" Width="135"/>
<TextBox Height="51" Margin="277,279,0,0" Text="TextBox" Width="135"/>
<TextBox Height="51" Margin="580,279,0,0" Text="TextBox" Width="135"/>
<TextBlock Height="63" Margin="227,494,0,0" Text="TextBlock" Width="142"/>
<TextBlock Height="63" Margin="479,469,0,0" Text="TextBlock" Width="142"/>
<TextBlock Height="63" Margin="573,406,0,0" Text="TextBlock" Width="142"/>
<TextBlock Height="63" Margin="143,352,0,0" Text="TextBlock" Width="142"/>
<CheckBox Content="CheckBox" Height="81" Margin="1064,203,0,0" Width="130"/>
<CheckBox Content="CheckBox" Height="81" Margin="713,119,0,0" Width="130"/>
<CheckBox Content="CheckBox" Height="81" Margin="831,352,0,0" Width="130"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
C#
protected override void OnNavigatedTo(NavigationEventArgs e)
{
foreach (var child in rootGrid.Children)
{
if (child is TextBox)
{
System.Diagnostics.Debug.WriteLine(((TextBox)child).Text);
if (string.IsNullOrEmpty(((TextBox)child).Text))
{
//Empty text in this box
}
}
}
}
Run Code Online (Sandbox Code Playgroud)