WPF Databound ComboBox意外行为

时间:2013-08-13 20:58:44

标签: .net xaml

我刚刚使用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}" />

1 个答案:

答案 0 :(得分:0)

看起来它完全符合您的要求:

首先,

SelectedValue="{Binding FileOption}"

(并且,这是一个绑定,因此随后设置选择将更新viewmodel中的属性)

然后,

SelectedIndex="{Binding FileTraceComboBoxDefault}" 

您可能只想设置/绑定SelectedValue或SelectedIndex中的一个。