Реализация события двойного щелчка в Silverlight 4 Datagrid - PullRequest
4 голосов
/ 13 марта 2010

У любой хорошей души есть пример реализации «Командного шаблона», введенного Prism для события двойного щелчка в сетке данных Silverlight 4.0?

Я пробовал следующее:

<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>

Как вы видите, я попытался подключить Команду там, и она не запускает событие в моей модели представления.

В поисках хорошей альтернативы.

1 Ответ

0 голосов
/ 15 марта 2010

Во-первых, Button.Command не для двойного щелчка. Это будет работать с одним щелчком мыши, а также.

Тебе нужно так измениться. ElementName = dgUserRoles, Path = DataContext.

 Command="{Binding ElementName=dgUserRoles, Path=DataContext.EditRoleClickedCommand}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...