2011-01-07 14 views
1

wpf mvvmアプリケーションが起動しています。私の意見の1つでは、1つの列がコンボボックスであるリストボックスがあります。私はすべてが機能していると思ったが、私はここで終わった。リストビュー内のWPFコンボボックス

コンボボックスの値を1つの行で選択すると、すべての行が変更されます。私はたくさんのことを試してきましたが、私は立ち往生しています。ここで

は私のXAMLです:

<ListView ItemsSource="{Binding Path=Properties.OutputGroups, Mode=TwoWay}"> 
       <ListView.View> 
        <GridView > 
         <GridViewColumn Header="Output" > 
          <GridViewColumn.CellTemplate> 
           <DataTemplate> 
            <ComboBox ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}}, Path=DataContext.Outputs}" SelectedValue="{Binding Path=Obj.OutputID, Mode=TwoWay}" IsSynchronizedWithCurrentItem="False" DisplayMemberPath="DisplayName" SelectedValuePath="ID" /> 
           </DataTemplate> 
          </GridViewColumn.CellTemplate> 
         </GridViewColumn> 
         <GridViewColumn Header="Duration"> 
          <GridViewColumn.CellTemplate> 
           <DataTemplate> 
            <TextBox Text="{Binding Path=Obj.Duration}" BorderThickness="0" /> 
           </DataTemplate> 
          </GridViewColumn.CellTemplate> 
         </GridViewColumn> 
         <GridViewColumn Header="State" > 
          <GridViewColumn.CellTemplate> 
           <DataTemplate> 
            <CheckBox IsChecked="{Binding Path=Obj.State}" /> 
           </DataTemplate> 
          </GridViewColumn.CellTemplate> 
         </GridViewColumn> 
        </GridView> 
       </ListView.View> 
      </ListView> 
+0

あなたのモデルを投稿してください。私の推測では、各コンボ項目が同じオブジェクトインスタンスを指しているということです。 – Zamboni

+0

したいです。しかし、それはすべての行を変更するコンボボックスを持つ最初の列です。他の列は正常です。また、私はデバイドし、設定者が実際にすべてのオブジェクトを呼び出されていることを確認しました。私はまた、ハッシュコードが異なっていることを確認しました。 – Furnes

答えて

0

私はこのことについて肯定的ではないよ、そう、これは正しくない場合、私は謝罪が、私はMSDN hereで読んだものによると、私はそれがしなければならないかもしれないと思います"isSynchronizedWithCurrentItem"プロパティを使用します。このプロパティを "true"に切り替えて、問題が解決するかどうか確認してください。

私が言ったように、これは問題がどこにあるのか肯定的ではありませんが、データが現在のアイテムと同期されているように思われます。なぜそのプロパティが私にフラグを投げているのですか? 。

本当に助かりました。 (本当に謝りません)

+0

msdnのページを読むと、次のように見えます。 "次の例では、2つのListBoxコントロールを同じItemsSourceにバインドしています。IsSynchronizedWithCurrentItemはtrue各ListBoxでは、選択したアイテムは常に両方のコントロールで同じです。私がこれを正しく読んだら、それはまさに私が今持っているのと同じ振る舞いです。だから、それを偽に設定するのは正しいはずです。 – Furnes

+0

ニースを試してみてください:) – Furnes

+0

@Furnes - それは残念ですが、それは暗闇の中でのショットでしたが、それにもかかわらず。私は他の何かを見つけることができるかどうか探していきます。これは役に立たない、もう一度申し訳ありません! – AmbiguousX

関連する問題