【发布时间】:2012-02-02 21:44:55
【问题描述】:
我希望能够从其 TabControl 页面中访问我的窗口的公共成员。为此,我尝试从使用 XAML 切换:
<TabControl TabStripPlacement="Left" HorizontalContentAlignment="Left" Name="wizardTabs">
<TabItem Header="Login">
<Frame Source="LoginPage.xaml" IsTabStop="False"/>
</TabItem>
</TabControl>
改为基于代码填充选项卡,在主窗口的 Loaded 事件期间:
newFrame = new Frame();
newFrame.Source = new Uri(@"\LoginPage.xaml", UriKind.Relative);
newFrame.IsTabStop = false;
tabItem = new TabItem();
tabItem.Header = "Login";
tabItem.Content = newFrame;
wizardTabs.Items.Add(tabItem);
我在选项卡中使用框架并在框架中加载 XAML 页面。通过这种方式,我认为构造函数可供我使用,以便我可以将 this 指针传递给 Page 类:
LoginPage loginPage = newFrame.Content as LoginPage;
loginPage.parent = this;
但我发现加载 XAML 需要一个空的构造函数。此外,newFrame.Content 始终为 NULL。我认为这与在此阶段尚未加载 XAML 的事实有关,但我无法确定何时执行 XAML 加载,如果稍后,我如何设置“父”指针.
感谢您的任何建议。我是新手 WPF 编码器,所以请指导我。
【问题讨论】:
-
是否有不能使用数据绑定来访问属性的原因?
-
嗯,它与数据无关——当用户单击选项卡中的特定列表项时,我正在尝试更新主窗口上的状态指示器。
标签: c# wpf xaml tabcontrol