C# 获取轮毂部分内的文本框

C# 获取轮毂部分内的文本框,c#,xaml,C#,Xaml,我无法在我的中心部分中获取文本框 代码xaml: <Hub Header="Chutometro" x:Name="Hub" Margin="0,27,0,-1"> <HubSection Header="Números" x:Name="HbNumemro"> <DataTemplate> <Grid> <Grid.R

我无法在我的中心部分中获取文本框

代码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>

我正在尝试获取x:name,但找不到,因为HubSection包含的数据模板没有直接添加到可视化树中,以便获取它们:

  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 = "";
    }
private void Grid\u已加载(对象发送方、路由目标方)
{
var textboxs=(发送方作为网格).Children.OfType()的子对象;
var TxtN1=textboxs.First(p=>p.Name==“TxtN1”);
var TxtN2=textboxs.First(p=>p.Name==“TxtN2”);
字符串k=“”;
}

但是我建议您使用MVVM,这将使事情长期变得简单。

将其返回给我:错误1当前上下文TxtN1中不存在名称“TxtN1”。名称无效
  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 = "";
    }