1

使用动态透视项创建透视控件,在透视数据模板中必须显示项目控件,该控件也将具有数据模板..如下所示

    <phone:Pivot x:Name="chatPivot" Margin="0 2 0 76" ItemsSource="{Binding Contacts}" SelectionChanged="chatPivot_SelectionChanged">                       <phone:Pivot.ItemTemplate>                      
                    <DataTemplate>

                        <ScrollViewer x:Name="chatScroll" Margin="0,0,0,72"  VerticalScrollBarVisibility="Auto">
                            <ItemsControl  Margin="0" x:Name="chats" Tap="chats_Tap_1" ItemsSource="{Binding Messages}"
                ItemTemplate="{StaticResource imgItemTemplate}"  ItemsPanel="{StaticResource imgItemPanel}">
                            </ItemsControl>
                        </ScrollViewer>

                    </DataTemplate>
                </phone:Pivot.ItemTemplate>
            </phone:Pivot>  

这是我的数据模板。

<phone:PhoneApplicationPage.Resources>

    <ItemsPanelTemplate x:Key="imgItemPanel">
        <StackPanel Orientation="Vertical" />
    </ItemsPanelTemplate>
    <DataTemplate x:Key="imgItemTemplate" >

        <chatbubble:ChatBubbleControl x:Name="ChatBubble" Hold="ChatBubbleControl_Hold_1"  />

    </DataTemplate>

    </phone:PhoneApplicationPage.Resources>
4

1 回答 1

0

我实际上不知道您的“ChatbubbleControl”用户控件的设计,但我发现了一个问题,为什么值没有被绑定。

<phone:PhoneApplicationPage.Resources>

<ItemsPanelTemplate x:Key="imgItemPanel">
    <StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
<DataTemplate x:Key="imgItemTemplate" >

    <chatbubble:ChatBubbleControl x:Name="ChatBubble" xyz="{Binding}" Hold="ChatBubbleControl_Hold_1"  />

</DataTemplate>

</phone:PhoneApplicationPage.Resources>

您正在将值绑定到 ItemsControl,但您没有将任何值绑定到在屏幕上显示该值的实际控件(此处为 chatbubblecontrol)。解决方案是您需要为您的用户控件创建一个属性,例如:在这里,我创建了一个名为“xyz”的测试属性。然后尝试将值绑定到它。

希望这将在概念上对您有所帮助。

于 2014-04-17T06:06:28.243 回答