2012-03-01 28 views
2

我希望用戶從衆多元素中選擇一個。MonoTouch.Dialog:帶有值的StringElement,但隱藏UI中的值?

所以我創建了一個長列表StringElement,每個列表都有一個特定的標題。每個元素都與一個特定的值相關聯。我的想法是設置StringElementValue屬性。但是,這會使值顯示在元素的右側。

如何隱藏此值?當用戶點擊一個條目時,我只需要它。

回答

2

除了最基本的設置類似的對話框我最終(90%的時間)定義我自己的Element類型。它解決了很多問題(比如這個問題)並減少了重複的代碼。

所以你喜歡的東西:

class MyStringElement : StringElement { 
    public MyStringElement (string caption, string hiddenValue) : base (caption) { 
     HiddenValue = hiddenValue; 
    } 

    public string HiddenValue { get; set; } 
} 

您可能還需要使用caption爲重點,以(?現有的)Dictionary<string,string>,以減少每個元素的內存需求(取決於多久你的清單上原來是)。在任何情況下,使用自己的Element類型可以更輕鬆地在未來更改其存儲/行爲(對代碼中其他地方的影響最小)。

+0

我這樣做的同時,我甚至命名屬性「HiddenValue」:-)謝謝。 – Krumelur 2012-03-01 15:06:06