繁体   English   中英

在中心部分获取文本框

[英]Get textbox inside hub section

我无法在集线器部分中找到文本框

代码xaml:

      <Hub Header="Chutometro" x:Name="Hub" Margin="0,27,0,-1">
        <HubSection Header="Números" x:Name="HbNumemro">
            <DataTemplate>
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="*" />
                     </Grid.RowDefinitions>
                     <TextBlock Text="De" Width="30" Height="30" FontSize="25" Margin="0,0,310,600"></TextBlock>
                     <TextBox x:Name="TxtN1" InputScope="Number" Height="40" MaxLength="15" Margin="0,30,0,0" ></TextBox>
                     <TextBlock Text="Á" Width="30" Height="30" FontSize="25" Margin="0,0,310,430"></TextBlock>
                     <TextBox x:Name="TxtN2" InputScope="Number" Height="40" MaxLength="15" Margin="0,110,0,0" ></TextBox>
                     <Button x:Name="BtN" Tapped="BtN_Tapped" Width="80" Height="80" Content="Okay" Margin="0,120,0,337"></Button>
                     <TextBlock x:Name="TxtBlockResult" FontSize="40" Height="80" Margin="0,280,0,269"></TextBlock>
            </Grid>
        </DataTemplate>
    </HubSection>
    <HubSection Header="Letras">

   </HubSection>
</Hub>

C# :

string txtn1 = TxtN1.Text;
string txtn2 = TxtN2.Text;

我正在尝试获取x:名称,但找不到

因为HubSection包含一个DataTemplate,但没有将其直接添加到可视化树中,因此为了获得它们:

  private void Grid_Loaded(object sender, RoutedEventArgs e)
    {
        var textboxes = (sender as Grid).Children.OfType<TextBox>();
        var TxtN1 = textboxes.First(p => p.Name == "TxtN1");
        var TxtN2 = textboxes.First(p => p.Name == "TxtN2");

        string k = "";
    }

但是我建议您使用MVVM,这将使长时间的工作变得简单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM