名称' SongNameLabel'在当前上下文中不存在

时间:2016-02-25 20:15:13

标签: c# .net wpf

我在C#打招呼,我遇到了问题。

我在这里收到错误:

songDetail = new SongDetailBind(MP3File.songName, "");
            SongNameLabel.DataContext = songDetail;

我在这里写它:public partial class ControlPanel:UserControl 但是SongNameLabel是在BottomPanel.xaml中制作的标签,并且它的类是公共部分类BottomPanel:UserControl。

如何在ControlPanel类中访问SongNameLabel?

1 个答案:

答案 0 :(得分:0)

您可以在BottomPanel类中创建属性或方法,以使此标签在ControlPanel类中可用。

public Label SongNameLabelProp
{
    get
    {
        return SongNameLabel;
    }
}

然后在ControlPanel中,如果你有权访问BottomPanel,你可以做到:

BottomPanel.SongNameLabelProp.DataContext = songDetail;

但一般情况下,让其他类可以访问内部控件。您应该使用一些结构设计模式,如MVVM,并通过数据绑定使用数据填充您的视图。或者至少在BootomPanel类中创建一个方法,如:

public void SetSongDetail(SongDetailBind songDetail)
{
    SongNameLabel.DataContext = songDetail;
}