2010-03-13 51 views
5

任何好的灵魂都有一个实现Prism在Silverlight 4.0 DataGrid中的双击事件中引入的“命令模式”的示例?在Silverlight 4中实现双击事件Datagrid

我试过如下:

<data:DataGrid x:Name="dgUserRoles" AutoGenerateColumns="False" Margin="0" Grid.Row="0" ItemsSource="{Binding Path=SelectedUser.UserRoles}" IsReadOnly="False"> 
    <data:DataGrid.Columns> 
     <data:DataGridTemplateColumn Header=""> 
      <data:DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <Button Width="20" Height="20" Click="Button_Click" Command="{Binding EditRoleClickedCommand}" CommandParameter="{Binding SelectedRole}" /> 
       </DataTemplate> 
      </data:DataGridTemplateColumn.CellTemplate> 
     </data:DataGridTemplateColumn> 
     <data:DataGridTextColumn Header="Role Name" Binding="{Binding RoleName}" /> 
     <data:DataGridTextColumn Header="Role Code" Binding="{Binding UserroleCode}" IsReadOnly="True"/> 
     <data:DataGridCheckBoxColumn Header="UDFM Managed" Binding="{Binding RoleIsManaged}" IsReadOnly="True" /> 
     <data:DataGridCheckBoxColumn Header="UDFM Role Assigned" Binding="{Binding UserroleIsUdfmRoleAssignment}" IsReadOnly="True" /> 
     <data:DataGridTextColumn Header="Source User" Binding="{Binding SourceUser}" IsReadOnly="True" /> 
    </data:DataGrid.Columns> 
</data:DataGrid> 

正如你看到的我曾尝试挂钩命令那里,它不是在我的视图模型触发事件。

寻找一个很好的选择。

+0

我在这里没有看到任何双击代码。 – Gabe 2010-03-13 02:01:55

+0

我也想知道这个答案,什么是实现双击的最佳方式? – 2010-04-27 05:58:57

回答

1

首先,Button.Command不适用于双击。它也将与单击一起工作。

你需要改变那样。 ElementName = dgUserRoles,Path = DataContext。

Command="{Binding ElementName=dgUserRoles, Path=DataContext.EditRoleClickedCommand}"