2012-03-10 5 views
0

나는 다음과 같은 세부 사항의 수준이 : 나는 데이터 그리드 및 항목 소스가 (연락의) contactlist로 설정되어 있습니다서브 클래스는

Public Class Contact 
     Public prime As ContactPrime 
End Class 
Public Class ContactPrime 
     Property Conid As String 
     Property Conname As String 
     Property Company As String 
     Property Jobtitle As String 
     Property Contactno As String 
     Property Addr As String 
     Property Type As String 
End Class 

을, 문제는 내가 표시 할 수있는 방법입니다 Prime.Conname. 추가 정보

:

 <DataGrid AutoGenerateColumns="False" Name="DataGrid1" Margin="0,10,0,0" Height="500" Width="695" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Visible" SelectionMode="Single" IsReadOnly="True" > 
      <DataGrid.Columns> 
       <DataGridTextColumn Binding="{Binding Conname}" Header="Name" Width="150" /> 
       <DataGridTextColumn Binding="{Binding Contactno}" Header="Numbers" Width="150"/> 
       <DataGridTextColumn Binding="{Binding Addr}" Header="Address" Width="150"/> 
       <DataGridTextColumn Binding="{Binding Type}" Header="Type" Width="80"/> 
       <DataGridTextColumn Binding="{Binding Company}" Header="Company" Width="70" /> 
       <DataGridTextColumn Binding="{Binding Jobtitle}" Header="Job" Width="70"/> 
      </DataGrid.Columns> 
     </DataGrid> 

답변

1

에만 속성이 아닌 필드에 바인딩, 그래서 PrimeContact의 속성이 있는지 확인 할 수 있습니다 다음 는 데이터 그리드의 현재 데이터 바인딩이다.

또한 UI에 변경 사항을 알리려면 유형에 INotifyPropertyChanged을 구현해야합니다.

연락처 목록의 컬렉션 변경 사항을 UI에 알리려면 INotifyCollectionChanged을 구현해야합니다. WPF와 함께 제공되는 ObservableCollection 형식이이 작업을 수행합니다.

+0

연락 등급에서 contactprime으로 public prime 대신 contactprime으로 프라임 프라임을 선언하면 어떻게됩니까? 그때 작동할까요? – surpavan

+0

바인딩의 요구 사항입니다. 필드에만 바인딩 할 수없고 속성 만 바인딩 할 수 있습니다. 모든 코드를 보지 않고도이 코드만으로 바인딩 문제를 해결할 수 있을지는 의문입니다. – devdigital

+0

에 질문이 추가되었습니다. 추가 할 정보가 무엇인지 알려주세요. – surpavan