2011-01-10 11 views
1

MVVMLightで作成されたSilverlight 4アプリケーションがあります。ビューで
私はSeletedItemが私ViwModelで再びのSelectedItemにバインドされた私のViewModelにバインドされているデータグリッド、持っている:すべての作品は、ちょうどそれがようで、私は内の項目をクリックした際に必要としてEventToCommandが呼び出された後にDatagrid selecteditemがnullに戻される

<sdk:DataGrid Name="MyGrid" AutoGenerateColumns="False" Grid.Row="3" MaxHeight="200" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" RowHeight="35" 
         SelectedItem="{Binding SelectedItem, Mode=TwoWay, ValidatesOnNotifyDataErrors=False}" ItemsSource="{Binding Items}" > 

これを私のViewModelのSelectedItemグリッドが正しく設定されています。

は、今私は、DataGridの行にボタンを追加し、同じのViewModelにバインドされているボタンにEventToCommandを追加しました:

<Button Content="Update" > 
    <i:Interaction.Triggers> 
     <i:EventTrigger EventName="Click"> 
      <Command:EventToCommand Command="{Binding Source={StaticResource Locator}, Path=MainDialog.ButtonCommand, Mode=TwoWay}" /> 
     </i:EventTrigger> 
    </i:Interaction.Triggers> 

このコマンドは、火災は、正しく動作します問題以前に設定されたSelectedItemプロパティが使用されていますが、これはnullに設定されています。

なぜこのEventToCommandはSelecteedItemプロパティをリセットし、それを停止して使用できますか?

+0

あなたが発射されたコマンドのコードを共有することはできますか?容疑者がそこにいるかもしれないと思う。 –

答えて

-1

問題が何であるかをわかりやすくするためにコードをシャープにする必要があります。しかし、おそらく問題は、選択したアイテムをアイテムグリッドのitemsourceコレクションにないオブジェクトとして設定することです。 ...どこで変更条件勿論..この

SelectedItem = Items.Where(x => x.Id == someId).First(); 

のようなのSelectedItemを設定し、これが問題であるかどうかを確認するようにしてください:)

関連する問題