参考标签C#wpf

参考标签C#wpf,c#,wpf,C#,Wpf,我在VS2010中做了一个项目,有一个导航窗口和一个页面。 当导航窗口加载正在执行的某些操作时,我还希望在页面上为一些内容添加标签 标签名称:label2 页面的公共分部类的名称为:Page1 命名空间:WpfApplication1 这不起作用: label2.content = "my string"; 我知道label2在我的页面上,但如何从导航窗口引用该页面 我是C#和WPF的初学者,我做了很多尝试,但没有让它工作让我抓狂。我想你在导航窗口上使用了一个框架,类似这样: <Stac

我在VS2010中做了一个项目,有一个导航窗口和一个页面。 当导航窗口加载正在执行的某些操作时,我还希望在页面上为一些内容添加标签

标签名称:label2

页面的公共分部类的名称为:Page1

命名空间:WpfApplication1

这不起作用:

label2.content = "my string";
我知道label2在我的页面上,但如何从导航窗口引用该页面


我是C#和WPF的初学者,我做了很多尝试,但没有让它工作让我抓狂。

我想你在导航窗口上使用了一个框架,类似这样:

<StackPanel>
    <Frame  Name="frame1">
        <Frame.Content>
            <pg:Page1 />
        </Frame.Content>
    </Frame>
</StackPanel>
    Page1 page = this.frame1.Content as Page1;
    if (page != null) page.label1.Content = "my string";

我假设您在导航窗口上使用了一个框架,如下所示:

<StackPanel>
    <Frame  Name="frame1">
        <Frame.Content>
            <pg:Page1 />
        </Frame.Content>
    </Frame>
</StackPanel>
    Page1 page = this.frame1.Content as Page1;
    if (page != null) page.label1.Content = "my string";

默认情况下,对通过其名称生成的控件的引用是私有的,您可以使用以下属性手动公开它们:

public partial class Page1 : Page
{
    public Label Label2 { get { return label2; } }

    //...
}
那么你应该可以通过

page2.Label2.Content = "Lorem Ipsum";

默认情况下,对通过其名称生成的控件的引用是私有的,您可以使用以下属性手动公开它们:

public partial class Page1 : Page
{
    public Label Label2 { get { return label2; } }

    //...
}
那么你应该可以通过

page2.Label2.Content = "Lorem Ipsum";

您需要从
Page1
类中公开对标签的引用,以便您的导航窗口可以看到它并访问标签。好的,我认为这是正确的方法,但是如何在代码中排除对标签的引用?您需要从
Page1
类中公开对标签的引用,以便您的导航窗口可以看到它并访问标签。好的,我认为这是正确的方法,但是如何在代码中排除对标签的引用?这不起作用,它说:“WpfApplication1.Page1.Label2”和“WpfApplication1.Page1.Label2”之间的歧义你应该注意大小写,在你的问题中,你写的是
Label2
,而不是
Label2
,这个字段显然需要有一个不同的名称。好吧,现在我把它放在我的页面:
公共标签Label2{get{return label2;}}
在我的导航窗口中:
Page1.label2.Content=“Lorem Ipsum”
但现在它说:非静态字段、方法或属性“WpfApplication1.Page1.label2”需要对象引用。这不起作用,它说:“WpfApplication1.Page1.label2”和“WpfApplication1.Page1.label2”之间存在歧义。你应该注意大写,在你写的问题中是
label2
,而不是
label2
,该字段显然需要有一个不同的名称。好吧,现在我已经把它放在我的页面中:
public Label2{get{return Label2;}}
这个在我的导航窗口中:
Page1.Label2.Content=“Lorem Ipsum”;
但现在它说:非静态字段、方法或属性“WpfApplication1.Page1.label2”需要对象引用