2011-01-10 55 views
1

我有一個在MVVMLight中創建的Silverlight 4應用程序。
在視圖中我有一個綁定到我的視圖模型,這SeletedItem綁定到我的ViwModel再次將selectedItem一個DataGrid:在EventToCommand被調用後Datagrid selecteditem被設置爲空

<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的網格設置正確。

現在我已經添加了一個按鈕,在數據網格的行和加入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

你可以共享射擊命令的代碼?我認爲嫌疑人可能躺在那裏。 – 2011-01-10 23:19:19

回答

-1

你應該清晰你的代碼讓我們看看問題是什麼。但也許問題是,您將選定的項目設置爲不在DataGrid的itemsource集合中的對象。嘗試設置將selectedItem這樣

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

看看是否是這樣的問題.. Ofcourse變化情況在.. :)

相關問題