WPFもXamlも、実際には挿入、更新、および削除の概念を持っていません。データバインディングはすべてオブジェクト(またはときどきXML)に関係します。 UIの変更(例えば、TextBoxに値を入力するユーザ)がバインドされたオブジェクトにプッシュされると、データバインディングのジョブが完了する。それは、あなたがデータに関して何をするかはあなた次第です。
これは、「コードビハインドなし」の目標には何の障害もありません。通常の方法は、ビュー(Xaml)とデータオブジェクトの間にレイヤーを追加し、基底のドメインモデルではなくそのレイヤーにUIをバインドすることです。 (このレイヤーはViewModelと呼ばれることもありますが、Presenterなどの別の名前が表示されることもあります)。
コードビハインドを必要とせずにアクションを有効にする方法コマンドの使用によるものです。中間層は、データ指向のプロパティを公開するだけではありません。コマンドを保持するプロパティが公開され、これらのコマンドをボタン、ハイパーリンク、またはメニュー項目にバインドできます。これはコードビハインドを必要とせず、Xamlのすべてのバインディング式だけです。しかし、あなたがボタンをクリックすると、ビューモデル内の関連するハンドラコードが実行されます。 (ICommand
は、実装するための非常にシンプルなインターフェイスである - 。クリックされたときにボタンがちょうどExecuteメソッドを呼び出しますそして、あなたは通常、独自の実装を提供します - 内蔵のRoutedCommand
とRoutedUICommand
このシナリオには不適切です。)その後、
そして、あなたは挿入/更新/削除/あなたが合っていると思ったものを挿入することができます。