Привязка OneWay комбинированного списка SelectedValue (или SelectedItem) не работает.Есть идеи? - PullRequest
0 голосов
/ 23 сентября 2011

В приведенном ниже окне комбинированный список существующих отчетов привязан к наблюдаемой коллекции объектов reportObjects.У меня есть свойство reportObject currentReport, привязанное к свойству SelectedValue комбо OneWay.Тем не менее, это не работает, когда связано в XAML.

SelectedValue="{Binding currentReport, Mode=OneWay}"

TwoWay связывается нормально, но я не могу сделать это без написания undo() метода для класса reportObject.Я связываю свойства currentReport с различными текстовыми полями для редактирования.Я хочу привязать OneWay, чтобы источник не менялся.Все свойства currentReport привязаны к соответствующим текстовым полям с помощью TwoWay, поэтому, когда я обновлю таблицу в SQL [Save], она будет извлекать данные из этого объекта, чьи данные являются текущими.

<TextBox Text="{Binding currentReport.reportName, Mode=TwoWay}"

Все свойства, привязанные к currentReport к текстовым полям, также работают нормально.Единственной проблемой является привязка OneWay от SelectedValue к объекту currentReport.У кого-нибудь есть идеи, как заставить это работать?Я видел, что была ошибка, но пост, который я видел, был 2009.

enter image description here

Извините за желтый.Не моя идея=)

РЕДАКТИРОВАТЬ: Добавлен этот XAML на всякий случай.

<ComboBox ItemsSource="{Binding reportsCollection}" SelectionChanged="cboReports_SelectionChanged"
                                  DisplayMemberPath="displayName"
                                  SelectedValue="{Binding currentReport, Mode=TwoWay}"
                                  x:Name="cboReports" Width="342" Height="40" VerticalAlignment="Center"/>  

1 Ответ

1 голос
/ 24 сентября 2011

Забудьте о том, что вам нужно изменить значения - это отдельная проблема - нужно пересмотреть свой дизайн данных.Начните с проблемного вопроса интерфейса.Если вы хотите, чтобы пользователь мог выбрать элемент из поля со списком, он должен иметь двустороннюю привязку.Ваш первый вопрос: SelectedValue = "{Binding currentReport, Mode = OneWay}" терпит неудачу, почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...