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

因此,我正在创建一长串StringElement,每个列表都有一个特定的标题。每个元素都与一个特定值相关联。我的想法是设置ValueStringElement属性。但是,这会使该值显示在元素的右侧。

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

最佳答案

除了最基本的类似于设置的对话框外,我最终(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类型可以使将来更轻松地更改其存储/行为(对代码中的其他位置的影响最小)。

关于c# - MonoTouch.Dialog:具有值的StringElement,但是在UI中隐藏值吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9514118/

10-09 01:39