2013-08-13 4 views
0

Я был просто включен в проект с использованием wpf и привязки данных. У меня есть ComboBox, который сначала считывает выбранное значение из модели представления, а затем сразу же записывает значение по умолчанию (неправильное) обратно в модель представления. В стеке вызовов указано, что InitializeComponent() является источником как для вызовов get, так и для набора. Существует около дюжины других элементов управления, которые не ведут себя так. Есть ли какое-то свойство, которое я пропускаю, чтобы предотвратить первое заданное значение?WPF Databound ComboBox непредвиденное поведение

<ComboBox Grid.Column="1" Grid.Row="2" 
     Name="traceFileOptions" ItemsSource="{Binding TraceFileOptionsCollection}" 
     SelectedValue="{Binding FileOption}" DisplayMemberPath="Text" SelectedValuePath="Value" 
     IsEnabled="{Binding WriteToFile}" SelectedIndex="{Binding FileTraceComboBoxDefault}" /> 
+0

Вы имели в виду как «SelectedValue», так и «SelectedValuePath»? – Andy

ответ

0

Похоже, что это делает именно то, что вы просили его:

первый,

SelectedValue="{Binding FileOption}" 

(и это является обязательным, поэтому в дальнейшем установка выбор будет обновлять свойство в модели представления)

тогда

SelectedIndex="{Binding FileTraceComboBoxDefault}" 

Возможно, вы хотите установить/привязать только один из SelectedValue или SelectedIndex.

Смежные вопросы