2017-01-03 29 views
0

最近不知道爲什麼,但Designer.cs文件中的屬性自動更改爲private而不是public我已手動設置。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中設置不在單元格中的按鈕touchUpInside事件。沒有公開財產。這怎麼可能?附:此按鈕是UITableViewCell的子項。 –

回答

1

這是自動生成的代碼,將其更改爲公開不是解決方案。 Xamarin會將其更新爲原始。這是過程。如果您想從其他類訪問它,請在.cs文件中創建該控件的屬性。

例如

public UIButton btn_EditRow 
     { 
      get{ 
       return btnEditRow; 
      } 

    } 

您可以從其他類訪問btn_EditRow。

+0

這是個好主意。謝謝。唯一的事情仍然是多餘的。但是直到Xamarin爲此提供了一些方法。這個解決方法很好。 –