Парадокс: я могу отображать список /collection/set/any из сложных объектов в datagrid/listview, чтобы пользователь мог редактировать эти сложные объекты.
Но: я не могу сделать это с помощью простого старого списка int/string/double.
Это то, что у меня есть:
public partial class MainWindow : Window
{
ObservableCollection<int> angles = new ObservableCollection<int>{60, 180, 240, 300, 360};
}
Я хочу, чтобы пользователь мог редактировать существующие значения, добавлять новые значения и удалять значения.
Какой контроль лучше для этой цели? (Я попробовал DataGrid, но не получил никакого результата.)
Любая помощь ценится!
Вы хотите иметь коллекцию нового класса с одним int, а не привязки к списку int:
public class Foo //TODO give meaningful name
{
public Int Value {get;set;} //TODO give meaningful name
}
Таким образом, сетка данных может получить значение, установить значение, добавить новые объекты Foo
со значением, удалить объект Foo
с его значением и т.д.
Сам int
, будучи неизменным, не может быть изменен. Вы можете отобразить список значений, выполняющих то, что вы сделали в своем вопросе, и добавить/удалить значения, но не редактировать их.
int
и не добавлять никакой функциональности. Должен быть другой способ, чтобы отобразить списокint
и позволить пользователю редактировать, добавлять и удалять элементы!int
? Это добавляет функциональные возможности . Это создает изменчивую оболочку для неизменяемого объекта. Тот факт, что тип является изменяемым, а не неизменным, очень важен , так как вам нужна функциональность. Конечно, есть и другие способы отображения списка целочисленных значений, которые пользователь может редактировать, добавлять и удалять, но это почти наверняка самый простой и эффективный способ.