c#中改变结构体中单个元素的一种更优雅的方式
本文关键字:一种 方式 结构体 改变 单个 元素 | 更新日期: 2023-09-27 18:13:05
是否有更优雅的方法来更改视图中的单个元素?框架结构在Xamarin/c#不使用以下模式之一?
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结构被重新赋值时,它才会生效。
我花了几分钟,试图想出一些东西,但因为框架是一个结构体,它看起来没有一个更优雅的方式:
MonoTouch:如何在运行时更改控件's位置?
您可以做的一件事是创建一个静态实用程序类,像这样,您可以重用:
public static class FrameUtil{
public RectangleF UpdateX(RectangleF frame, float newX){
var tempFrame = frame;
tempFrame.x = newX;
return tempFrame;
}
}