Ни WPF, ни Xaml на самом деле не имеют никакой концепции вставки, обновления и удаления. Привязка данных связана с объектами (или случайным XML). Как только изменения в пользовательском интерфейсе (например, пользователь, вводящий значение в TextBox) были помещены в связанные объекты, работа по связыванию данных завершается. Вам решать, что вы будете делать с данными.
Не то чтобы это являлось каким-либо препятствием для цели «без кода». Обычный подход заключается в добавлении слоя между вашим представлением (Xaml) и вашими объектами данных и привязке пользовательского интерфейса к этому слою, а не к модели базового домена. (Этот слой часто называют ViewModel, но вы также увидите, что его называют другими именами, такими как Presenter. И этот общий шаблон известен как «отдельная презентация».)
Способ, которым вы разрешаете действия без необходимости задавать код, - это использование команд. Ваш промежуточный уровень не просто предоставляет свойства, ориентированные на данные. Он может предоставлять свойства, содержащие команды, и вы можете привязывать эти команды к кнопкам, гиперссылкам или элементам меню. Для этого не требуется никакого кода - все это просто обязательные выражения в Xaml. Но когда вы нажимаете кнопку, запускается соответствующий код обработчика в вашей модели представления. (ICommand
- очень простой для реализации интерфейс - кнопка просто вызывает метод Execute при нажатии. И вы обычно предоставляете свою собственную реализацию - встроенные RoutedCommand
и RoutedUICommand
не подходят для этого сценария.)
И тогда вы можете вставить / обновить / удалить / все, что считаете нужным.