跨 Pivot 项目共享网格内容

发布于 2024-12-13 05:27:51 字数 220 浏览 0 评论 0原文

我想知道是否可以在不同的数据透视项之间共享网格内容,以便仅将一些额外信息添加到 Windows Phone 中的另一个数据透视项。如果可能的话请告诉我。

详细地说,我在一个数据透视控件上有一个客户输入表单,下一个数据透视页面是针对一种特殊类型的客户,因此他有额外的字段,我们希望让客户感觉不同,但逻辑几乎是相同的。

我可以在另一个 PivotItem 中引用相同的 contentGrid 吗?

I'd like to know if it is possible to share grid contents across different pivotitems so that only some extra information is added to another pivot item in Windows Phone. if possible please let me know.

To elaborate, I have a customer input form on one pivot control, and the next pivot page is for a special kind of customer so he has extra fields and we want to make the customer feel different, but the logic is pretty much the same.

can I reference the same contentGrid in another PivotItem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笔落惊风雨 2024-12-20 05:27:51

不。但是您可以创建自定义 UserControl,并将其与相同的数据绑定。

这是有关用户控件的指南

No. But you can create a custom UserControl, and bind it with the same data.

Here's a guide about UserControls

撕心裂肺的伤痛 2024-12-20 05:27:51

您可以将此 contentGrid 放入 DataTemplate 中,然后让不同的数据透视页面引用相同的 DataTemplate。您可能需要为每个数据透视页面创建一个 ContentControl ,如下所示,

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Key="CustomerDataTemplate">
        <Grid x:Name="contentGrid">
        ...
        </Grid>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>

    <controls:Pivot Title="MY APPLICATION">
        <!--Pivot item one-->
        <controls:PivotItem Header="item1">
            <ContentControl Content="{Binding CustomerOneData}" ContentTemplate="{StaticResource CustomerDataTemplate}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"/>
        </controls:PivotItem>

        <!--Pivot item two-->
        <controls:PivotItem Header="item2">
            <ContentControl Content="{Binding CustomerTwoData}" ContentTemplate="{StaticResource CustomerDataTemplate}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"/>
        </controls:PivotItem>
    </controls:Pivot>

然后您有两个选择。首先,您可以在 DataTemplate 中定义所有控件,然后根据客户类型显示/隐藏某些特定控件。或者,您可以为共享控件创建此 DataTemplate,然后将这些额外的控件放在 ContentControl 之外。

You can put this contentGrid into a DataTemplate, and then have different pivot page referencing the same DataTemplate. You will probably need to create a ContentControl for each of your pivot page, something like this,

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Key="CustomerDataTemplate">
        <Grid x:Name="contentGrid">
        ...
        </Grid>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>

    <controls:Pivot Title="MY APPLICATION">
        <!--Pivot item one-->
        <controls:PivotItem Header="item1">
            <ContentControl Content="{Binding CustomerOneData}" ContentTemplate="{StaticResource CustomerDataTemplate}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"/>
        </controls:PivotItem>

        <!--Pivot item two-->
        <controls:PivotItem Header="item2">
            <ContentControl Content="{Binding CustomerTwoData}" ContentTemplate="{StaticResource CustomerDataTemplate}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"/>
        </controls:PivotItem>
    </controls:Pivot>

Then you have two choices. First you can define all your controls inside the DataTemplate then show/hide some certain controls based on the customer type. Or you can just create this DataTemplate for shared controls, and then put those extra ones outside the ContentControl.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文