我刚刚使用wpf和数据绑定项目。我有一个ComboBox,它首先从视图模型中读取它的选定值,然后立即将默认(不正确)值写回视图模型。调用堆栈表示InitializeComponent()是get和set调用的原点。有十几个其他控件不像这样。是否有一些我遗漏的属性会阻止第一次错误设置值?
<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 :(得分:0)
看起来它完全符合您的要求:
首先,
SelectedValue="{Binding FileOption}"
(并且,这是一个绑定,因此随后设置选择将更新viewmodel中的属性)
然后,
SelectedIndex="{Binding FileTraceComboBoxDefault}"
您可能只想设置/绑定SelectedValue或SelectedIndex中的一个。