【发布时间】:2013-05-11 23:16:31
【问题描述】:
是否有更优雅的方法来更改 Xamarin/C# 中 View.Frame 结构中的单个元素,而不使用以下模式之一?
var frame = View.Frame;
frame.Y = 123;
View.Frame = frame;
或
View.Frame = new RectangleF(View.Frame.X, 123, View.Frame.Width, View.Frame.Height);
只需像这样更改元素:View.Frame.Y = 123; 没有任何效果。只有在重新分配整个 Frame 结构后,它才会生效。
【问题讨论】:
-
它可能没有任何效果,因为
View.Frame可能是一个属性。当您访问它时,它会返回 Frame 的 copy,因为它是一个值类型。我个人更喜欢你的第一种风格;关于您在哪些方面正在发生变化的意图似乎更加明确。 (更不用说它避免命中Frame属性吸气剂 3 次)