2017-01-03 4 views
0

最近、Designer.csファイルのプロパティが自動的にプライベートに変更される理由はわかりません。Designer.csプロパティがパブリックとして保持されていない

[Outlet] 
    [GeneratedCode ("iOS Designer", "1.0")] 
    public UIKit.UIButton btnEditRow { get; set; } 

しばらくしてから。

[Outlet] 
    [GeneratedCode ("iOS Designer", "1.0")] 
    UIKit.UIButton btnEditRow { get; set; } 
+0

なぜあなたはそのプロパティが最初に公開されると思いますか?これは生成されたコードなので、ストーリーボードで何かが変更されるたびに生成されます。これは[ここ](http://stackoverflow.com/a/18154631/2399772)で説明されているカプセル化を保証するために行われます。 – Demitrian

+0

私は、セル内ではなく、viewControllerのbutton touchUpInsideイベントを設定したいと思います。財産を公開することなくそんなことがあるものか? P.S.このボタンはUITableViewCellの子です。 –

答えて

1

これは自動生成されたコードで、publicに変更することは解決策ではありません。 Xamarinは再びオリジナルに更新します。それはプロセスです。他のクラスからアクセスしたい場合は、そのコントロールのgetプロパティを.csファイルで作成します。例

あなたが他のクラスからbtn_EditRowにアクセスすることができます
public UIButton btn_EditRow 
     { 
      get{ 
       return btnEditRow; 
      } 

    } 

ため

+0

これは良い考えです。ありがとう。その唯一のものはまだ冗長です。しかし、Xamarinがこのために何らかの方法を提供するまで。この回避策は良いです。 –

関連する問題