如何在另一个类中使用xaml对象

时间:2012-07-24 10:32:44

标签: c# .net wpf xaml

我有一个带有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"/>

3 个答案:

答案 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。

但是,在提问时你应该发布一些代码