你可以测试选择的项目是空 这只是一种方式,也许有助于你 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