【问题标题】:Silverlight DataGrid events not firingSilverlight DataGrid 事件未触发
【发布时间】:2011-05-03 15:27:49
【问题描述】:

我有一个绑定到 PagedCollectionView 的 Silverlight DataGrid。如果我只是绑定 DataGrid,SelectionChanged 事件就会触发。但是,如果我添加一个 DataPager 以使用数据网格,则 DataGrid 上的任何事件都不会触发,除了加载时的第一行。这是我的代码:

<sdk:DataGrid Cursor="Hand" IsReadOnly="True" x:Name="dgImports" AutoGenerateColumns="False">
    <sdk:DataGrid.Columns>
        <sdk:DataGridTextColumn Binding="{Binding ImportID}" Width="0" Visibility="Collapsed"/>
        <sdk:DataGridTextColumn Binding="{Binding Sequence}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Header="Sequence Number" Width="Auto" />
        <sdk:DataGridTextColumn Binding="{Binding CreateDate}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Header="Create Date" Width="Auto" />
        <sdk:DataGridTextColumn Binding="{Binding Error}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Header="Error" Width="Auto" />
    </sdk:DataGrid.Columns>
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="SelectionChanged">
            <i:InvokeCommandAction
                 Command="{Binding SelectionChangedCommand}"
                 CommandParameter="{Binding SelectedItem, ElementName=dgImports}"/>
            </i:EventTrigger>

        </i:Interaction.Triggers>
</sdk:DataGrid>

<sdk:DataPager x:Name="dgImportsPager" 
               Source="{Binding Path=ItemsSource, ElementName=dgImports}"
               PageSize="20"  />

有什么线索吗?

【问题讨论】:

    标签: silverlight silverlight-4.0 c#-4.0


    【解决方案1】:

    首先,我错过了什么吗?我看不到您将数据网格绑定到 PagedCollectionView(或任何相关的项目源)的位置。

    其次,为了好玩和咯咯笑,尝试将 DataPager 的 Source 也设置为 PagedCollectionView,而不是 dgImports 的 Path=ItemsSource。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 1970-01-01
      相关资源
      最近更新 更多