2

我正在尝试为 Windows Phone(针对 WP7.1)做一些 XAML 绑定,并且我有一组要显示的复选框。我想把它们放在里面WrapPanel

我将使用哪些控件来绑定到复选框集合?我没有看到WrapPanel. 所以我不确定我会用什么。

   <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>
4

1 回答 1

3

绑定到 UI 控件集合并不完全是您想要做的事情。相反,我建议绑定到一个集合。出于多种原因 - 性能、内存分配和一般维护/灵活性。

既然你提到你有 a List<string>,你可以把它绑定到 a ListBox

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

但是,如果存在适当的支持,您仍然可以继续将元素绑定到其他元素的集合。您可以使用ItemsControl

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

</ItemsControl>

在这里,SomeCollection还不如ObservableCollection<CheckBox>

于 2013-04-15T04:02:24.363 回答