【问题标题】:How to show same control in different pivot item?如何在不同的数据透视项目中显示相同的控件?
【发布时间】:2014-01-09 13:54:28
【问题描述】:

这是否可以在每个数据透视项目中显示相同的控件。 所以我认为我的选择是

1.更改数据透视表头,但实际上不更改数据透视表。
2.将控件添加为另一个透视项中网格的子控件。[我认为不可能]
3.只需 ctrl+c 和 ctrl+v 设计不同名称的控件[我不想这样做]。

还有其他方法吗?选项 1 或选项 2 可行吗?如果是怎么办? 请帮忙。

【问题讨论】:

  • 在枢轴控件之外添加控件?
  • 其他选项是 - 透视模板或自定义用户控件
  • 是的,这是可能的。在 NaviComputer 应用程序中,Pivot 中有一个不滚动的 TextBlock。但是我不知道到底是怎么回事。
  • @AMR 如果我在未显示的枢轴之前或之后添加控件。你试过了吗?
  • @seesharp 你能解释一下吗

标签: c# xaml windows-phone-8


【解决方案1】:

在您的情况下,更有意义的是创建一个 UserControl。

我建议您从 Grid 创建一个 UserControl。在 Blend 中很容易做到。在 Blend 中打开您的项目,在 Objects and Timeline 面板中展开页面内容,右键单击 Grid 并选择 Make into UserControl。 Blend 将创建一个 UserControl 类,您可以在每个 PivotItem 中重复使用该类。

取自MSDN Forums

//Now you should be able to do something like this. 
MySecondPivotItem.Content = new MyUserControl()

仅此而已。您也可以在航班上创建 PivotItem 并将其添加到 Pivot,如下所示:(假设 pivotMain 是您的 Pivot)

pivotMain.Items.Add(MySecondPivotItem);

希望对你有帮助

【讨论】:

  • 但是这里的问题是,如果我对我的第二个数据透视项目使用相同的东西,比如 MySecondPivotItem2.Content = newGrid 它会抛出异常,因为它已经添加到视图中。
  • 这就是您创建新网格和新控件的原因。您将要做的是将您需要的属性从一个对象复制到另一个对象。或者,如果您需要重用太多属性,也可以创建自己的 Clone() 方法。
  • 但我的主要要求是我将使用相同的控件。如果我使用两个网格对象,它将与两个不同的控件相同。
  • 嗯,首先我有点困惑,但我真的不明白为什么你需要拥有多个具有完全相同控件的数据透视项 object ?也许你甚至不需要一个枢轴结构。
  • 我有两个枢轴项目(如“CAR”和“BIKE”),在视图中我有近 40 个表单字段(对于 CAR 和 BIKE,它们是相同的),它们是过滤器,使用那些我必须过滤数据库结果,所以查询将是相同的,除了 type='CAR' 或 type='BIKE'。并且设计是枢轴项目设计,我正在搜索一个快捷方式:) 我可以使用两个按钮作为枢轴项目标题然后我必须创建动画视图来更改所有内容。所以我问有没有其他最短的方法。我对 wp8 很陌生。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 2016-11-08
  • 1970-01-01
  • 2021-08-15
相关资源
最近更新 更多