我在C#打招呼,我遇到了问题。
我在这里收到错误:
songDetail = new SongDetailBind(MP3File.songName, "");
SongNameLabel.DataContext = songDetail;
我在这里写它:public partial class ControlPanel:UserControl 但是SongNameLabel是在BottomPanel.xaml中制作的标签,并且它的类是公共部分类BottomPanel:UserControl。
如何在ControlPanel类中访问SongNameLabel?
答案 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;
}