【问题标题】:Make UserControl keep square shape使 UserControl 保持方形
【发布时间】:2014-01-09 10:41:37
【问题描述】:

我正在处理 Windows Phone 8 C#/XAML 项目,我遇到了一个问题,我想不出解决方案。

问题

我希望我的用户控件始终是正方形的(但不是固定大小的正方形)。

例如

我有一个网格,其中列的宽度和高度是自动计算的(width="*"height="*" 在所有列中 和 行定义),我在每个网格的单元格中都有这些控件之一,我希望它们保持方形。

问题

  • 如何做到这一点?有多种方法吗?

  • 我在某处读过有关重写 SizeChanged 事件的信息,但我想不出可行的代码,如果可能的话,有人可以用算法和/或代码提示我吗?

【问题讨论】:

  • 也许将用户控件的高度与宽度绑定就可以了。
  • 您的意思是在使用时将每个用户控件的宽度绑定到高度?这有点像用左脚挠右肩。
  • 嗯,问题可能出在您无法准确判断哪个尺寸(高度或宽度)更大时。

标签: c# xaml windows-phone-8 user-controls


【解决方案1】:

Height="{Binding RelativeSource={RelativeSource Self}, Path=ActualWidth}"

反之亦然,宽度和实际高度通常是要走的路,即使它是“用左脚挠右肩”。您可以将其设置为 TargetType 的样式模板,以使其继承而不是到处重复。

希望这会有所帮助。

【讨论】:

  • 我看到 Romasz 提出的建议的方式似乎是这样。这个有更多解释的似乎为我解决了这个问题。谢谢。
  • 很高兴你得到了补救。如果为可能有相同问题的其他人回答了问题,请确保将问题标记为正确。干杯!
猜你喜欢
  • 2016-06-09
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-16
  • 1970-01-01
  • 1970-01-01
  • 2012-11-12
相关资源
最近更新 更多