簡體   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