不要从此类获取对XAML元素的引用

时间:2017-12-26 15:56:25

标签: c# xaml uwp uwp-xaml

为了让我会在班上插入几次的同学,我制作了一个新的XAML元素:

<Page
    x:Class="App1.EntryPage_Field"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Name="GridItem" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Width="300" Height="400">
        <TextBlock Text="test"></TextBlock>
    </Grid>
</Page>

现在我想获取GridItem并将其放在我的类中,但我无法获得它的引用。

            Grid el = (Grid)EntryPage_Field.FindName("GridItem");
            ViewGrid.Items.Add(el);

根本没有编译。

            Grid el = (Grid)FindName("GridItem");
            ViewGrid.Items.Add(el);

当el为空时崩溃。

为了澄清,我希望每次使用它时我的同伴都是空的,所以也许我应该在某个地方打电话给新人?

1 个答案:

答案 0 :(得分:0)

要从页面获取GridItem网格,您可以使用EntryPage_Field 类对象实例

尝试使用以下代码从GridItem类中获取EntryPage_Field,然后将其放入ViewGrid网格女巫在另一页中。在将GridItem添加到ViewGrid之前,您应该确保GridItem不是其他控件或页面的子项。

private void Page_Loaded(object sender, RoutedEventArgs e)
{
    EntryPage_Field myPage = new EntryPage_Field();
    Grid myGrid = (Grid)myPage.FindName("GridItem");
    myPage.Content = null;
    ViewGrid.Children.Add(myGrid);
}