WinRT Combobox模板中的奇怪行为

时间:2012-07-07 20:26:02

标签: xaml combobox windows-8 microsoft-metro windows-runtime

在Win 8 Release Preview下运行的WinRT应用程序中,我遇到一个奇怪的问题。这是一段代码:

<ListView.ItemTemplate>
     <DataTemplate>
         <Grid>
              <Grid.ColumnDefinitions>
                  <ColumnDefinition Width="*"/>
                  <ColumnDefinition Width="*"/>
              </Grid.ColumnDefinitions>
              <TextBox Grid.Column="0" Text="{Binding Name, Mode=TwoWay}" VerticalAlignment="Center"/>
              <ComboBox Grid.Column="1" ItemsSource="{Binding Source={StaticResource evtTypeRes}}" SelectedValuePath="ID" DisplayMemberPath="Name" SelectedValue="{Binding EventTypeID, Mode=TwoWay}" VerticalAlignment="Center"/>
          </Grid>
     </DataTemplate>
</ListView.ItemTemplate>

ListView由ObservableCollection列表支持,项目实现INotifyPropertyChanged。问题是,当我在屏幕中更改组合框的值时,不仅对特定行更改了值,而且每行都更改了值(属性的setter在集合的每个对象上调用)。文本框不是这种情况。这种奇怪行为可能是什么原因?

提前致谢

1 个答案:

答案 0 :(得分:0)

我发现IsSynchronizedWithCurrentItem属性的目的:值False解决了我的问题。