2013-03-31 3 views
2

Windows Phone (WP7.1을 대상으로 함)에 대해 일부 XAML 바인딩을 수행하려고하는데 표시 할 컬렉션이 있습니다. WrapPanel체크 박스 컬렉션에 바인딩

체크 박스 컬렉션에 바인딩하는 데 사용할 컨트롤은 무엇입니까? WrapPanel에 대한 ItemSource가 표시되지 않습니다. 그래서 내가 뭘 쓸지 모르겠다.

<ListBox Height="auto" Name="lbAssignments" BorderThickness="1" BorderBrush="Black" ItemsSource="{Binding DataList}"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Orientation="Vertical"> 
        <TextBlock x:Name="TextBlock" Text="{Binding Title}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,0,0,10" FontSize="26.667" TextWrapping="Wrap"/> 
        <TextBlock x:Name="TextBlock1" Text="{Binding Title}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,0,0,10" FontSize="26.667" TextWrapping="Wrap"/> 
        <toolkit:WrapPanel Height="400" Width="400"> 
         <!--collection of checkboxes--> 
        </toolkit:WrapPanel> 
       </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
+0

DataList가 부울 값의 컬렉션을 나타내거나 DataList의 각 항목에 bool 컬렉션이 포함되어 있습니까? – Phil

+0

@Phil이 제안 했으므로 표시 할 기본 모델을 표시하십시오. –

+0

지금 당장은 아주 단순한 무언가를 원합니다. 간단한 목록 에 텍스트가 있습니다. 체크 박스로 어떻게 표시합니까? – webdad3

답변

3

UI 컨트롤 모음에 바인딩하는 것이 정확히 원하는 작업이 아닙니다. 대신 컬렉션에 바인딩하는 것이 좋습니다. 성능, 메모리 할당 및 일반적인 유지 관리/유연성과 같은 여러 가지 이유로

당신이 List<string>을 가지고, 당신은 단지 ListBox에 바인딩 할 수 있습니다 당신이 언급 한 이후 : 그러나

<ListBox ItemsSource="{Binding YourList}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <CheckBox Content="{Binding}"></CheckBox> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

, 당신은 여전히 ​​주어진 다른 요소의 컬렉션에 요소를 기다리고 진행할 수 있습니다 적절한 지원 존재합니다.

다음
<ItemsControl ItemsSource="{Binding ElementName=myPage, Path=SomeCollection}"> 

</ItemsControl> 

, SomeCollection뿐만 아니라 ObservableCollection<CheckBox> 수 있습니다 : 당신은 ItemsControl가 사용할 수 있습니다.

+0

고마워요! 나는 이번 주말에 그것을 시험해 볼 것이다! 입력과 예제 코드에 감사드립니다. – webdad3

관련 문제