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

本文关键字:上下文 不存在 SongNameLabel 名称 | 更新日期: 2023-09-27 18:36:11

im begginer in C#,我遇到了一个问题。

我在这里收到错误:

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

我在这里写它:公共分部类控制面板:用户控件但是SongNameLabel是在BottomPanel.xaml中制作的标签,并且它的类是公共部分类BottomPanel:UserControl。

如何访问控制面板类中的歌曲名称标签?

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

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

public Label SongNameLabelProp
{
    get
    {
        return SongNameLabel;
    }
}

然后在控制面板中,如果您可以访问BottomPanel,则可以执行以下操作:

BottomPanel.SongNameLabelProp.DataContext = songDetail;

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

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