2011-02-08 6 views
0

: 나 혼자 코드를 ItemsSource를 제거하고 떠나 있었다면리스트 뷰 DynamicResource

Window must be the root of the tree. Cannot add Window as a child of Visual.

을, 그때는 얻을 해달라고 오류가 발생하고 빈 ListView가 표시됩니다. 다음과 같이 내 Window.XAML에 위치한

내 ListView에는 다음과 같습니다

<ListView Grid.Column="1" Grid.Row="8" Grid.RowSpan="4" ItemsSource="{DynamicResource tasksResponsibilitiesCollection}"> 
         <ListView.View> 
          <GridView AllowsColumnReorder="True"> 
           <GridViewColumn DisplayMemberBinding="{Binding tasksResponsibilitiesName}" Header="Tasks/Responsibility" Width="150" /> 
           <GridViewColumn Header="Member Responsible" Width="120" /> 
           <GridViewColumn Header="Qualifications" Width="110" /> 
          </GridView> 
         </ListView.View> 
        </ListView> 

ItemsSource는 코드 숨김에 정의 된 ObservableCollection에 있습니다. ListView를 만들 때 MSDN 예제 (http://msdn.microsoft.com/en-us/library/ms747048.aspx)를 사용했습니다.

ObservableCollection을 다음과 같이 입찰하려면 어떻게해야합니까? ListView? Window.XAML 내의 리소스를 어딘가에 정의해야합니까?

내가 다루지 않은 것이 있으면 알려 주시기 바랍니다. 나는 당신의 도움을 주셔서 감사합니다

,

매트

답변

1

당신은 ObservableCollection과 같이 ItemsSource를 설정하는 윈도우의 코드 숨김 다음 데이터 바인딩을 사용할 수있는 속성으로 정의 된 경우 :

<ListView Grid.Column="1" Grid.Row="8" Grid.RowSpan="4" ItemsSource="{Binding Path=tasksResponsibilitiesCollection, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"> 
    <ListView.View> 
     <GridView AllowsColumnReorder="True"> 
      <GridViewColumn DisplayMemberBinding="{Binding tasksResponsibilitiesName}" Header="Tasks/Responsibility" Width="150" /> 
      <GridViewColumn Header="Member Responsible" Width="120" /> 
      <GridViewColumn Header="Qualifications" Width="110" /> 
     </GridView> 
    </ListView.View> 
</ListView> 

tasksResponsibilitiesCollection은 윈도우 코드 숨김의 공개 속성이어야합니다.

+0

감사합니다. Pavlo, 저에게 도움이되었습니다. – Lima