0

我正在开发一个 Windows Phone 7 应用程序,我是新手。现在我被困在一个点上。我有一个枢轴控件,其中列出了我的所有组。在每个组(枢轴项目)中,我想显示每个组中的人数。为了显示人员列表,我创建了一个具有某种样式的用户控件。如何使用 C# 将此用户控件与加载的数据(例如图像、名称、手机号码等)动态添加到数据透视项中。

   <controls:Pivot x:Name="pvGroupList" ItemsSource="{Binding listFriends}" Height="640" Margin="8,126,0,0" Title="Groups" VerticalAlignment="Top" d:LayoutOverrides="Height" FontFamily="/AutoEGreetings;component/Fonts/mrsmonsteracad.ttf#Mrs. Monster Academy" FontSize="29.333">
        <controls:Pivot.Foreground>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FF80FD75" Offset="0"/>
                <GradientStop Color="#FF80FD75" Offset="1"/>
                <GradientStop Color="White" Offset="0.522"/>
            </LinearGradientBrush>
        </controls:Pivot.Foreground>
        <controls:Pivot.HeaderTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding GroupName}" FontSize="50" />
            </DataTemplate>
        </controls:Pivot.HeaderTemplate>
        <controls:Pivot.ItemTemplate>
            <DataTemplate>
                <ScrollViewer Height="540">
                    <StackPanel>
                        // Here i need to add my list of usercontrol                  
                    </StackPanel>
                </ScrollViewer>
            </DataTemplate>
        </controls:Pivot.ItemTemplate>          
    </controls:Pivot>

我在后面的代码中有一个类列表。

List<FriendsListDto> listFriends = e.Result;
pvGroupList.ItemsSource = listFriends;

组标题按预期具有约束力。但是如何绑定用户控件呢?

4

1 回答 1

0

而不是这段代码:

<controls:Pivot.ItemTemplate>
    <DataTemplate>
        <ScrollViewer Height="540">
            <StackPanel>
                // Here i need to add my list of usercontrol
            </StackPanel>
        </ScrollViewer>
    </DataTemplate>
</controls:Pivot.ItemTemplate> 

你可以使用类似的东西:

<controls:Pivot.ItemTemplate>
    <DataTemplate>
        <ListBox ItemsSource={Binding YourControlsCollection}/>
    </DataTemplate>
</controls:Pivot.ItemTemplate>

或者您可以在其周围使用带有 ScrollViewer 的 ItemsControl(而不是 ListBox)。

最好使用 ObservableCollection 代替 List (但如果绑定工作正常,则没有必要)。对于 YourControlsCollection,最好在 FriendsListDto 类中使用 ObservableCollection。

然后只需在控件集合中添加一些元素并在 listFriends 中添加新元素。

于 2013-11-14T11:26:31.613 回答