我有一个名为'mainWindow'的窗口有两个名为'mainFrame','sidepanel'和'mainWindow'的框架,当我从'sidepanel'点击'btn1'时,'mainFrame'被导航到'frame1',这是页面。在'frame1'中,我将Border控件作为唯一的子控件。
mainWindow.xaml.cs:
((mainWindow)App.Current.MainWindow).mainFrame.Navigate(new frame1());
frame1.xaml:
<Border>
</Border>
frame1.xaml.cs:
public frame1()
{
InitializeComponent();
var page = ((mainWindow)App.Current.MainWindow).mainFrame.Content as Page;
var border = page.Content as Border;
}
将边框初始化为page.Content = null时,我遇到“System.NullReferenceException”。但是如果我第二次点击'btn1',它会被'System.Windows.Controls.Border'初始化。但是当我第一次点击'btn1'时,我想要这个结果。
请帮助我找到一个好的解决方案。
答案 0 :(得分:0)
正如@KooKiz建议的那样,这个给了我解决方案:
frame1.xaml.cs:
-i
frame1.xaml:
private void Page_Loaded(object sender, RoutedEventArgs e)
{
var page = ((mainWindow)App.Current.MainWindow).mainFrame.Content as Page;
var border = page.Content as Border;
}