2012-06-28 4 views
0

나는 C# 클래스의 IList에서 생성 된 버튼을 사용하여 WPF 화면을 작성합니다. 정확한 수의 버튼을 만들고 표시합니다. 그러나 목록 항목에서 작성된 단추에는 텍스트가 표시되지 않습니다.XAML에서 IList의 멤버를 볼 수 없음 - 일관성없는 액세스 가능성?

이전에 다른 클래스/스크린에서이 작업을 수행했지만 정상적으로 작동했습니다.

작동하는 클래스 (BibList)에서 List 객체 위로 마우스를 가져 가면 fly-over 팁을 얻을 수 있습니다. "일관성없는 접근성 : 'System.Collections.Generic.IList'속성에 액세스하기가 쉽지 않습니다. 속성보다 'BurnIn.UI.Modules.Operations.VieModels.OvenViewModel.BibList'

작동하는 클래스에서 해당 메시지를 가져 오지 않고 내가 본 것과 일치합니다 (XAML은 SlotInfo .

:; 정보)하지만, 모든 공공 그래서 내게 문제가 어디 있는지 볼 수 없습니다 여기

목록을 선언하는 코드입니다3210

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

OvenViewModelBase의 액세스 가능성은 무엇입니까? –

+0

OvenViewModelBase도 Public입니다 참고 :이 문제는 공개로 선언 된 'SlotInfo'의 액세스 가능성과 함께 표시되며 클래스 범위가 아니기 때문에 BibList에 더 쉽게 액세스 할 수 있습니다. – markshancock

+0

이 코드는 본질적으로 그 오류를 만들 수 없기 때문에 여기에있는 오류 메시지는 오도 된 것입니다. http://msdn.microsoft.com/en-us/library/system.collections.ilist.aspx는 IList의 MSDN이며 public으로 보여줍니다. 따라서 IList보다 더 쉽게 액세스 할 수있는 코드는 만들 수 없습니다. . 오류는 붉은 청어이고 진정한 문제는 다른 것입니다. 나는 그것을 여기에서 보지 않고있다. –

답변

0

문제는 SlotInfo 요소는 구성원이 아닌 속성이라고했다. 플라이 오버 "도움말"팁은 레드 헤링 (Red Herring)이었습니다.

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; } 
    } 
관련 문제