MonoTouch.Dialog:具有值的StringElement,但在UI中隐藏值?

时间:2012-03-01 10:01:34

标签: c# ios xamarin.ios monotouch.dialog

我希望用户从众多元素中选择一个。

所以我创建了一个StringElement的长列表,每个列表都有一个特定的标题。每个元素都与特定值相关联。我的想法是设置Value的{​​{1}}属性。但是,这会使值显示在元素的右侧。

如何隐藏此值?我只在用户点击一个条目时才需要它。

1 个答案:

答案 0 :(得分: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类型都可以在将来更轻松地更改其存储/行为(对代码中其他位置的影响最小)。