Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Реализация события двойного щелчка в Silverlight 4 Datagrid

Автор вопроса: Mohammed Mudassir AzeemiОтветов: 1

У любой доброй души есть пример реализации "Шаблона команды", представленного Prism для события двойного щелчка в Silverlight 4.0 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>

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

Ищем хорошую альтернативу.

  • Я не вижу здесь кода двойного щелчка. Gabe 13.03.2010
  • Я также хотел бы знать ответ на этот вопрос, как лучше всего реализовать двойные щелчки? Darko Z 27.04.2010

events

Ответы

Ответ 1 · Michael Sync

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы