单击按钮加载框架

Load frame on button click

我正在尝试通过单击特定按钮来加载框架。 我必须重新创建一个应用程序(从 Delphi 到 C#)。这意味着,我无法更改任何内容(任何与布局相关的内容)。 我有几个按钮,顶部有图标,按钮下方有第二个网格。

当我启动应用程序时,它立即加载了框架(我不允许,显示框架) 这是我的代码,用于加载框架:

 <Grid Margin="0,58,0,0" Grid.ColumnSpan="2">
        <Frame Name="Page1" Source="/View/_Test/Page1.xaml"/>
 </Grid>

这是可行的,它应该如此。对我来说,下一步是在单击其中一个按钮时加载框架(并通过不同的按钮关闭它),如上图所示。 按钮代码:

 <Button Content="" HorizontalAlignment="Left" Height="25" Margin="217,21,0,0" VerticalAlignment="Top" Width="25" BorderBrush="{x:Null}">
        <Button.Background>
            <ImageBrush ImageSource="Pictures\bmp00001.bmp" Stretch="Fill"/>
        </Button.Background>
    </Button>

如何在单击按钮时加载和关闭框架?

在您的按钮单击事件处理程序中,创建新框架并将其设置为网格的子框架:

private void OpenButton_Click(object sender, RoutedEventArgs e)
{
    Frame f = new Frame();
    f.Source = new Uri("https://whosebug.com");
    YourGrid.Children.Add(f);
}

在另一个按钮上,单击处理程序将其删除:

private void CloseButton_Click(object sender, RoutedEventArgs e)
{
    // Find the element with for example linked extension method
    YourGrid.Children.Remove(child);
}

查找元素的一个好方法是在这个答案中: