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

私は数分かけて何かを考え出そうとしましたが、フレームは構造体であるため、よりエレガントな方法があるようには見えません:

MonoTouch:実行時にコントロールの位置を変更するには?

できることの 1 つは、再利用できる次のような静的ユーティリティ クラスを作成することです。

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 に答える