2012-07-24 65 views
1

我有一个包含一个标签的xaml类。我想从一个不同的班级更改此标签的内容。 例如我有一个类mainwindow.xaml.cs与mainwindow.xaml,我想处理newclass.cs中mainwindow.xaml的标签。 我该怎么做?如何在另一个类中使用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"/>

回答

1

数据绑定和MVVM将是最完美的解决方案。 但是,你可以简单地使用代码隐藏。 为标签指定一个名称<Label x:Name="myLabel">,以便您可以像使用其他变量一样在代码中使用该名称访问它。 然后,您可以将此变量传递给newclass.cs并在其中更改其属性。

+0

它可以帮助我,但我不知道如果我这样做具有相同在mainwindow类中,我创建一个新的Label STATIC变量,并使其与myLabel(来自xaml)相等,因此我在我的新类中使用静态变量 – user1005633 2012-07-24 11:17:08

+0

@ user1005633不需要创建变量的静态,而是将其作为参数传递到不同阶层的方法。 如果您更改此元素的任何属性,那么也会在UI中反映出来。 – Biswajeet 2017-10-26 09:48:58

0

你可以使用绑定 - 甚至是更好地与MVVM模式绑定和视图模型第一。

但尽管如此,问问题时,你应该张贴一些代码

2

我会做的是这样的事情,我不知道这是最合乎逻辑的事情,但它适用于我。

在你newclass.cs:

Class Newclass 
{ 
    MainWindow main; 


    public Newclass(MainWindow win) 
    { 
     main = win; 
     main.label.content = ""; 
    } 
} 

,然后在mainwindow.xaml.cs:

Newclass class = new Newclass(this); 
相关问题