你可以測試選擇的項目是空 這只是一種方式,也許有助於你 XAML:
<Custom1:DataGrid IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding Persons}" SelectedItem="{Binding SelectedPerson}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<Custom:EventToCommand CommandParameter="{Binding SelectedItem, ElementName=dg}" Command="{Binding AfficheCommand, Mode=OneWay}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
後面的代碼:
private PersonModel _selectedPersons = new PersonModel();
public PersonModel SelectedPerson
{
set
{
_selectedPersons = value;
}
}
public ICommand AfficheCommand
{
get
{
return new DelegateCommand(AfficheText);
}
}
private void AfficheText()
{
if(_selectedPersons != null)
MessageBox.Show(_selectedPersons.FirstName);
_selectedPersons = null;
}
我知道這是不是最好的而是一種方式,直到你找到一個更好的主意;)
這隻適用於啓動一次。因爲如果我選擇數據網格中的項目選定的值不爲空。如果我點擊數據網格背景,選定的項目也不爲空。我可以重置爲null或類似的東西? – user2025830 2013-02-13 13:39:04
@ user2025830:您可以在命令完成時使_selectedPersons = null,我編輯我的代碼 – Akrem 2013-02-13 13:57:12
謝謝。這對我行得通 – user2025830 2013-02-13 14:10:34