我希望用户从众多元素中选择一个。
所以我创建了一个StringElement
的长列表,每个列表都有一个特定的标题。每个元素都与特定值相关联。我的想法是设置Value
的{{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
类型都可以在将来更轻松地更改其存储/行为(对代码中其他位置的影响最小)。