0

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 を実装します。問題は、画面内のコンボボックスの値を変更すると、特定の行だけでなくすべての行の値が変更されることです (プロパティのセッターは、コレクションのすべてのオブジェクトで呼び出されます)。これは、テキスト ボックスには当てはまりません。この奇妙な動作の理由は何でしょうか?

前もって感謝します

4

1 に答える 1

0

属性の目的を見つけましたIsSynchronizedWithCurrentItem:値Falseは私の問題を解決しました。

于 2012-07-09T12:42:41.207 に答える