Mark's answer показывает, как сделать то, что вы хотите, но вы также попросили более общем о " как выполнить [двустороннюю привязку] и то, что она на самом деле означает ».
Односторонняя привязка означает, что цель привязки (например, управление) будет отображать данные из источника привязки (например, бизнес-объект) и будет обновляться по мере изменения бизнес-объекта, но изменения в элементе управления не будут распространяться вернуться к бизнес-объекту. Например. если имя Person.Name изменяется с «bob» на «kate», TextBlock.Text, связанный с именем, будет изменяться с «bob» на «kate».
Двусторонняя привязка просто означает, что не только изменения в бизнес-объекте отражены в пользовательском интерфейсе, но изменения, сделанные пользователем в пользовательском интерфейсе, также распространяются на бизнес-объект. Итак, теперь, когда пользователь редактирует TextBox.Text, привязанный к имени, скажем, изменив «kate» на «edmund», WPF установит свойство Person.Name в «edmund».
Для этого просто установите Mode = TwoWay в объявлении привязки. По умолчанию некоторые свойства связывают двухстороннюю связь: TextBox.Text, например, связывает TwoWay по умолчанию, поэтому код Mark не нуждается в объявлении Mode. Кроме того, как отмечает Марк, по умолчанию WPF только передает изменения обратно бизнес-объекту, когда элемент управления теряет фокус. Если у вас есть два элемента интерфейса, привязанные к одному и тому же свойству, это может означать, что они выглядят не синхронизированными, и в этом случае вы можете использовать UpdateSourceTrigger для принудительного распространения WPF всякий раз, когда изменяется свойство.
MSDN подробно описывает это с некоторыми хорошими четкими диаграммами: см. Data Binding Overview в WPF SDK.
В зависимости от того, как он настроен, этот источник может быть изменен на ElementName (с помощью пути SelectedItem.Whatever) или, если набор связанных элементов является DataContext, можно опустить, но в последнем случае для ListView потребуется IsSynchronizedWithCurrentItem = "True". – itowlson
Это точно так же, как говорит Ивольсон. Большое спасибо! –
Ahh true, и спасибо за исправление синтаксиса;) –