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