2011-02-24 2 views
0

은 그래서 지금은 누구의 ItemsSource 내가 MyObjectCollectionmyObject에 결합하고자하는 그리드 컨트롤이 클래스WPF 바인딩 악몽

public class ObjectDataModel 
{ 
    public ObservableCollection<ObjectClassA> MyObjectCollection; 
} 

public class ObjectClassA 
{ 
    public ObjecttypeA myobject; 
    public BitmapImage mybmp; 
} 

있습니다.

어떻게 수행하나요?

답변

1

이 경우 XAML 코드를 게시 할 수 있다면 좋을 것입니다.

는이 클래스를 사용하는 올바른 방법입니다 내 이해 당으로 -

<ItemsControl 
     Margin="5,0,5,5" 
     ItemsSource="{Binding Path=MyObjectCollection}"> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <Grid > 
        <TextBlock 
         Grid.Column="0" 
         Margin="0,5,0,0" 
         Width="Auto" 
         Text="{Binding Path=myobject.Property1}" /> 
       </Grid> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 
2

당신은 속성으로 UR 바인딩 대상을 노출해야하지 필드로 (현재처럼). 이에 확장하려면

<Window> 
<Window.DataContext><local:ObjectDataModel/></Window.DataContext> 
<Grid> 
<ListView ItemsSource={Binding MyObjectCollection}/> 
</Grid> 
</Window> 
+1

는 그 속성의 getter 및 setter를 필요로하고 기대하는 모든 데이터에서 INotifyPropertyChanged를 구현하고 데이터 바인딩이 값을 업데이트하는 알 수 있도록하여 PropertyChanged 이벤트를 발생하는 요구 사항을 변경할 수 있습니다. – erodewald