我有一个带有xaml的类,其中包含一个标签。我想从一个不同的类更改此标签的内容。 例如,我有一个mainwindow.xaml.cs类与mainwindow.xaml,我想从newclass.cs处理mainwindow.xaml的标签。 我怎么能这样做?
编辑:我在网格中有这个标签,我想更改另一个类的内容:
<Label Content="" Panel.ZIndex="1" FontWeight="SemiBold" FontSize="16px" Name="lb1" Margin="0,0,0,0" VerticalAlignment="Bottom" Height="30" HorizontalAlignment="Right" Width="250" HorizontalContentAlignment="Right" VerticalContentAlignment="Top"/>
答案 0 :(得分:2)
我会做的是这样的事情,我不确定这是否是最合乎逻辑的事情,但它对我有用。
在你的newclass.cs中:
Class Newclass
{
MainWindow main;
public Newclass(MainWindow win)
{
main = win;
main.label.content = "";
}
}
然后在你的mainwindow.xaml.cs:
Newclass class = new Newclass(this);
答案 1 :(得分:1)
数据绑定和MVVM将是最优雅的解决方案。
但你可以简单地使用代码隐藏。
为标签指定一个名称<Label x:Name="myLabel">
,以便您可以在代码中使用该名称访问它,就像任何其他变量一样。
然后,您可以将此变量传递给newclass.cs并在那里更改其属性。
答案 2 :(得分:0)
你可以先使用绑定 - 甚至更好地绑定MVVM模式和viewmodel。
但是,在提问时你应该发布一些代码