0

有没有更优雅的方法来更改 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 结构后,它才会生效。

4

1 回答 1

1

我花了几分钟试图想出一些东西,但是因为 Frame 是一个结构,所以看起来没有更优雅的方式:

MonoTouch:如何在运行时更改控件的位置?

您可以做的一件事是创建一个可以重用的静态实用程序类:

public static class FrameUtil{
     public RectangleF UpdateX(RectangleF frame, float newX){
          var tempFrame = frame;
          tempFrame.x = newX;
          return tempFrame;
     }
}
于 2013-05-11T23:34:44.087 回答