我有一个由某个类的List填充的ListBox。但是当每个元素添加到ListBox时,它在ListBox中的名称是它的类层次结构,但我希望能够重命名这些项,因为它应该是一个Layer列表,用于在屏幕上呈现示教Listbox项。
在为每个元素选择名称时,ListBox会查找该项的哪些属性?我如何允许用户重命名项目?
答案 0 :(得分:1)
默认情况下,ListBox
只会在其ItemsSource中的每个对象上调用ToString
。对于类,除非ToString
被覆盖,否则这只是名称空间限定的名称。
有三种方法可以更改显示的内容:
ToString()
DisplayMemberPath
属性绑定到属性ItemTemplate
您可以在TextBox
中使用ItemTemplate
来允许重命名,或者使用其他控件(页面上的其他位置)来更新支持属性(因此更新绑定对象)。