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>

または、(ListBox の代わりに) ItemsControl を使用し、その周りに ScrollViewer を配置することもできます。

List の代わりに ObservableCollection を使用することをお勧めします (ただし、バインディングが正しく機能する場合は必要ありません)。また、YourControlsCollection の場合は、FriendsListDto クラスで ObservableCollection を使用することをお勧めします。

次に、コントロールのコレクションにいくつかの要素を追加し、listFriends に新しい要素を追加します。

于 2013-11-14T11:26:31.613 に答える