我正在构建一个WPF屏幕,其中包含从C#类中的IList创建的按钮。它构建并显示正确数量的按钮;但是,不显示从列表项构建的按钮上的文本。
我之前在另一个类/屏幕上做过这个,它工作正常。
我注意到在调试时,如果我将鼠标悬停在有效的类(BibList)中的List对象上,我会得到飞越提示"不一致的可访问性:属性类型' System.Collections.Generic。 IList的'比财产更难以获取' BurnIn.UI.Modules.Operations.VieModels.OvenViewModel.BibList'
我没有在有效的课程中获得该消息,并且它与我所看到的相符(XAML无法看到SlotInfo信息);但是,一切都是公开的,所以我不知道可访问性问题在哪里。
以下是声明列表的代码:
namespace BurnIn.UI.Modules.Operations.ViewModels
{
public class SlotInfo
{
public int SlotNumber;
public string BibName;
}
public class OvenViewModel : OvenViewModelBase
{
private List<SlotInfo> m_BibList = new List<SlotInfo>();
public IList<SlotInfo> BibList
{
get { return m_BibList; }
}
答案 0 :(得分:0)
它可能与List和IList之间的转换有关。如果更改匹配的类型会发生什么?
喜欢这样
namespace BurnIn.UI.Modules.Operations.ViewModels
{
public class SlotInfo
{
public int SlotNumber;
public string BibName;
}
public class OvenViewModel : OvenViewModelBase
{
var m_BibList = new List<SlotInfo>();
public IList<SlotInfo> BibList
{
get { return m_BibList; }
}
或者
namespace BurnIn.UI.Modules.Operations.ViewModels
{
public class SlotInfo
{
public int SlotNumber;
public string BibName;
}
public class OvenViewModel : OvenViewModelBase
{
List<SlotInfo> m_BibList = new List<SlotInfo>();
public List<SlotInfo> BibList
{
get { return m_BibList; }
}
答案 1 :(得分:0)
问题是SlotInfo元素是成员而不是属性。飞越“帮助”的提示是红鲱鱼。