【问题标题】:Wpf panel layout - one child, several positionsWpf面板布局 - 一个孩子,几个位置
【发布时间】:2012-11-05 11:47:27
【问题描述】:

我正在开发具有自定义布局逻辑的 WPF 面板衍生产品,有时在遵循该布局逻辑时,该组件可能应该在两个地方可见。同一组件的两个实例都将被部分裁剪。是否可以这样做 - 在排列过程中将子组件布置在两个不同的位置?

【问题讨论】:

  • 我很确定这是不可能的,你必须有 2 个行为相似的不同组件(并且可以绑定到相同的支持对象),但我不认为他们实际上可以相同。

标签: wpf layout panel instance


【解决方案1】:

我认为面板行为是为了在视图中排列项目,而不是复制项目。我认为这是不可能的。如果你复制一个视觉元素,那么它就不一样了。如果您想获得这种效果,您可以使用VisualBrush 并用它绘制一些区域,然后将您可能想要复制的控件设置为画笔。使用VisualBursh,您将看到一个控制副本,但您将无法对其进行修改。另一种方法是使用自定义控件来制作此效果。其他方式可能是使用两个不同的自定义面板,它们都具有相同的项目源(在某些集合的情况下是 ItemsPanel)。

希望这个答案对你有所帮助...

【讨论】:

  • VisualBrush 方法是完成此任务的正确方法。重复的面板会产生不必要的开销。很好的答案,劳尔!
  • 谢谢,我可能会选择这样做,因为这似乎是完成我想要的最佳方式。
猜你喜欢
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多