【问题标题】:Add custom user control on pivot selection change在枢轴选择更改上添加自定义用户控件
【发布时间】:2020-04-03 07:10:12
【问题描述】:

我有一个带有自定义用户控件的 Pivot。

 <Pivot.ItemTemplate>
                <DataTemplate>
                    <local1:mycustomusercontrol></local1:mycustomusercontrol>
                </DataTemplate>
  </Pivot.ItemTemplate>

现在,在 Pivot 上的选定项目更改时,我希望将我的 mycustomusercontrol 替换为另一个用户控件。有没有办法做到这一点?

  private void PivotContainer_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (PivotContainer.SelectedIndex != 0)
        {
           //Change user control
        }
    }

【问题讨论】:

    标签: c# xaml uwp uno-platform


    【解决方案1】:

    UIElement 具有属性Children,其中包含它所包含的所有子元素,您或许可以尝试更改它。

    但是,我个人更喜欢使用 DataTemplateSelector 并在其中定义 DataTemplate 的逻辑,根据该位置上显示的 ViewModel 上的某些标准来显示。

    或者,如果 DataTemplateSelector 不适合您,您可以在 mycustomusercontrol 中定义这两种状态并为它们切换可见性。

    为您的问题提供很多解决方案。

    【讨论】:

    • 你能告诉我任何可以看到 DataTemplateSelector 的链接吗?
    • 您使用的是 Xamarin.Forms 还是普通的 UWP?
    • 普通 UWP。实际上在UNO平台上
    • 那么在您的问题中实际标记 UNO 怎么样? UWP 的 DataTemplateSelector 的文档可以在这里找到:docs.microsoft.com/en-us/uwp/api/…
    • 是的,这样做了。 Menwhile Datatemplate 不能在 Pivot.ItemTemplate 中重复,所以这对我不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多