在C#中更改结构中单个元素的更优雅方法

时间:2013-05-11 23:16:31

标签: c# xamarin

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

1 个答案:

答案 0 :(得分:1)

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

MonoTouch: How to change control's location at runtime?

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

public static class FrameUtil{
     public RectangleF UpdateX(RectangleF frame, float newX){
          var tempFrame = frame;
          tempFrame.x = newX;
          return tempFrame;
     }
}