Silverlight 4.0 如何在数据网格内(定义和调用子数据网格的事件)

Silverlight 4.0 如何在数据网格内(定义和调用子数据网格的事件),silverlight-4.0,Silverlight 4.0,我需要在另一个datagrid(主子网格)中为datagrid定义事件 现在我需要为子网格定义事件,并在单击子数据网格时调用这些事件 我已经在xaml页面中为子数据网格定义了事件。但是这些事件还是没有被解雇。我应该怎么做? RowDetailsVisibilityChanged=“dgrdRowDetail\u RowDetailsVisibilityChanged” 是我的Xaml代码 <sdk:DataGrid MinHeight="100" x:Name=&quo

我需要在另一个datagrid(主子网格)中为datagrid定义事件 现在我需要为子网格定义事件,并在单击子数据网格时调用这些事件

我已经在xaml页面中为子数据网格定义了事件。但是这些事件还是没有被解雇。我应该怎么做? RowDetailsVisibilityChanged=“dgrdRowDetail\u RowDetailsVisibilityChanged”

是我的Xaml代码

<sdk:DataGrid MinHeight="100" x:Name="dgCounty" AutoGenerateColumns="False" VerticalAlignment="Top" Grid.Row="1"   IsReadOnly="True"  Margin="5,5,5,0" RowDetailsVisibilityChanged="dgCounty_RowDetailsVisibilityChanged"  SelectionMode="Extended"   RowDetailsVisibilityMode="VisibleWhenSelected">
            <sdk:DataGrid.Columns>
                <sdk:DataGridTemplateColumn>
                    <sdk:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <Button x:Name="myButton" Width="24" Height="24" Click="Details_Click">
                                <Image  x:Name="img" Source="Images/detail.JPG" Stretch="None"/>
                            </Button>
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellTemplate>
                </sdk:DataGridTemplateColumn>
                <sdk:DataGridTemplateColumn  Header="ID">
                    <sdk:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate >
                                <sdk:Label Content="{Binding EmployeeID}" />
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellTemplate>
                </sdk:DataGridTemplateColumn>
                <sdk:DataGridTemplateColumn  Header="Name">
                    <sdk:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate >
                            <sdk:Label Content="{Binding EmployeeFName}" />
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellTemplate>
                </sdk:DataGridTemplateColumn>
                <sdk:DataGridTemplateColumn  Header="MailID">
                    <sdk:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate >
                            <sdk:Label Content="{Binding EmployeeMailID}" />
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellTemplate>
                </sdk:DataGridTemplateColumn>
            </sdk:DataGrid.Columns>
            <sdk:DataGrid.RowDetailsTemplate>
                <DataTemplate>
                    <sdk:DataGrid x:Name="dgrdRowDetail" Width="400" HeadersVisibility ="None"  AutoGenerateColumns="False" HorizontalAlignment="Center" IsReadOnly="True" RowDetailsVisibilityChanged="dgrdRowDetail_RowDetailsVisibilityChanged"  SelectionMode="Extended"   RowDetailsVisibilityMode="VisibleWhenSelected">
                        <sdk:DataGrid.Columns>
                            <sdk:DataGridTextColumn  Binding="{Binding CompanyName}"/>
                            <sdk:DataGridTextColumn   Binding="{Binding CompanyID}"/>
                            <sdk:DataGridTemplateColumn  Header="Score">
                                <sdk:DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate >
                                        <StackPanel Loaded ="StackPanel_Loaded" Orientation="Horizontal" Background="Transparent">
                                            <TextBlock Text="{Binding Score}" TextWrapping="NoWrap" HorizontalAlignment="Center" Foreground="Blue"></TextBlock>
                                                                                           <Image x:Name="imgScore" Source ="{Binding Score}" Width="20" Height="20" Stretch ="Fill"/>
                                         
                                        </StackPanel>
                                    </DataTemplate>
                                </sdk:DataGridTemplateColumn.CellTemplate>
                            </sdk:DataGridTemplateColumn>
                        </sdk:DataGrid.Columns>
                       

                    </sdk:DataGrid>
                  

                </DataTemplate>
            </sdk:DataGrid.RowDetailsTemplate>
        </sdk:DataGrid>

private void dgrdRowDetail_RowDetailsVisibilityChanged(object sender, DataGridRowDetailsEventArgs e)
           
           {

           }

私有void dgrdRowDetail_RowDetailsVisibilityChanged(对象发送方,DataGridRowDetailsSeventargs e)
{
}
有人知道如何定义和调用子datagrid的事件吗。任何帮助都将是伟大的寻找解决方案

提前谢谢

王子: 全局定义 数据网格dgrdRowDetail

在事件父事件中,我们可以调整子数据网格,然后为子数据网格定义事件

   private void dgCounty_RowDetailsVisibilityChanged(object sender, DataGridRowDetailsEventArgs e)
            {            
           dgrdRowDetail = (DataGrid)e.DetailsElement.FindName("dgrdRowDetail");
             dgrdRowDetail.RowDetailsVisibilityChanged+=new EventHandler<DataGridRowDetailsEventArgs>(dgrdRowDetail_RowDetailsVisibilityChanged);
    }
private void dgCountry_rowDetails可视性已更改(对象发送方,DataGridRowDetailsSeventargs e)
{            
dgrdRowDetail=(DataGrid)e.DetailsElement.FindName(“dgrdRowDetail”);
dgrdRowDetail.RowDetailsVisibilityChanged+=新事件处理程序(dgrdRowDetail_RowDetailsVisibilityChanged);
}
一旦您获得子控件dgrdRowDetail,yoy就可以对其执行所有操作,如绑定、事件等。