我在VS2010中创建了一个带有导航窗口和一个页面的项目。 当导航窗口加载一些动作时,我还想在我的页面上给一些标签提供一些内容。
标签名称:label2
页面的公共部分类的名称是:Page1
命名空间:WpfApplication1
这不起作用:
label2.content = "my string";
我知道label2在我的页面上,但如何从导航窗口引用该页面?
我是C#和WPF的初学者,我尝试了很多,这让我发疯,不让它发挥作用。
答案 0 :(得分:0)
我想你在导航窗口上使用了一个框架,如下所示:
<StackPanel>
<Frame Name="frame1">
<Frame.Content>
<pg:Page1 />
</Frame.Content>
</Frame>
</StackPanel>
页面[Page1]包含一个名为[label1]的标签。在后面的代码中,您可以设置如下内容:
Page1 page = this.frame1.Content as Page1;
if (page != null) page.label1.Content = "my string";
答案 1 :(得分:0)
默认情况下,对通过其名称生成的控件的引用是私有的,您可以使用属性手动公开它们:
public partial class Page1 : Page
{
public Label Label2 { get { return label2; } }
//...
}
然后您应该可以通过
访问它page2.Label2.Content = "Lorem Ipsum";