Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# InvokeCommandAction CommmandParameter_C#_Wpf_Telerik - Fatal编程技术网

C# InvokeCommandAction CommmandParameter

C# InvokeCommandAction CommmandParameter,c#,wpf,telerik,C#,Wpf,Telerik,我有一个带有发票列表的视图模型,这些发票通过Telerik RadGridView显示。这个RadGridView有一个RowDetailsTemplate。当我单击一行并展开以显示行详细信息时,如何传递所选RadGridViewRow的InvoiceViewModel,以便从数据库中获取这些详细信息 不一次加载所有信息并在选择行之前等待加载详细信息的目的是减少加载时间 以下是一些代码供参考: <telerik:RadGridView x:Name="Invoice

我有一个带有发票列表的视图模型,这些发票通过Telerik RadGridView显示。这个RadGridView有一个RowDetailsTemplate。当我单击一行并展开以显示行详细信息时,如何传递所选RadGridViewRow的InvoiceViewModel,以便从数据库中获取这些详细信息

不一次加载所有信息并在选择行之前等待加载详细信息的目的是减少加载时间

以下是一些代码供参考:

            <telerik:RadGridView x:Name="InvoicesGridView"
                                 ItemsSource="{Binding InvoicesForView}" DataContext="{Binding }"
                                 RowDetailsVisibilityMode="VisibleWhenSelected"
                                 // other stuff
                                 telerik:GridViewVirtualizingPanel.IsVirtualizing="False" EnableRowVirtualization="False"
                                  CanUserResizeColumns="False">

                <i:Interaction.Triggers>
                    <i:EventTrigger  EventName="RowDetailsVisibilityChanged" SourceObject="{Binding RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}}">
                        <i:InvokeCommandAction Command="{Binding DataContext.LoadInvoice, Source={StaticResource ViewContext}}"  />
                    </i:EventTrigger>
                </i:Interaction.Triggers>

                <telerik:RadGridView.Columns>
                    <-- Column definitions -->
                </telerik:RadGridView.Columns>
                <telerik:RadGridView.RowDetailsTemplate>
                    <-- Row details stuff -->
                </telerik:RadGridView.RowDetailsTemplate>
            </telerik:RadGridView>

我已尝试传递选定的InvoiceViewModel,但返回的结果均为空,我可以设置CommandParameter以获取所需信息吗?


            <telerik:RadGridView x:Name="InvoicesGridView"
                                 ItemsSource="{Binding InvoicesForView}" DataContext="{Binding }"
                                 ShowGroupPanel="False" Style="{StaticResource TransparentScrollBarStyle}"
                                 RowIndicatorVisibility="Collapsed" 
                                 TextElement.Foreground="White"
                                 TextElement.FontSize="12" 
                                 FontWeight="Normal" RowDetailsVisibilityMode="VisibleWhenSelected"
                                 AutoGenerateColumns="False" SelectionMode="Multiple"
                                 ShowColumnHeaders="True" RowHeight="24"
                                 CanUserSelect="True" GroupRenderMode="Flat"
                                 ScrollViewer.VerticalScrollBarVisibility="Visible"
                                 ScrollViewer.CanContentScroll="True" ColumnWidth="*"
                                 VirtualizingStackPanel.VirtualizationMode="Standard"
                                 telerik:GridViewVirtualizingPanel.IsVirtualizing="False" EnableRowVirtualization="False"
                                  CanUserResizeColumns="False">

                <telerik:RadGridView.Columns>
                    <telerik:GridViewToggleRowDetailsColumn />
                    <-- Other columns -->
                </telerik:RadGridView.Columns>
                <telerik:RadGridView.RowDetailsTemplate>
                    <DataTemplate>
                        <Grid Background="#f8f8f8" TextElement.Foreground="Black" TextElement.FontWeight="Normal" TextElement.FontStyle="Normal" Margin="-1,0" MinHeight="20">
                            <telerik:RadTabControl >
                                <telerik:RadTabItem DataContext="{Binding}"/>
                                <i:Interaction.Behaviors>
                                    <behaviors:RadTabControlTabChangeCommandBehavior>
                                        <behaviors:RadTabControlTabChangeCommandBehavior.TabChangeCommands>
                                            <behaviors:TabChangeCommand TabIndex="0" Command="{Binding Path=DataContext.LoadInvoice, Source={StaticResource ViewContext}}"/>
                                        </behaviors:RadTabControlTabChangeCommandBehavior.TabChangeCommands>
                                    </behaviors:RadTabControlTabChangeCommandBehavior>
                                </i:Interaction.Behaviors>
                            </telerik:RadTabControl>
                            <-- Other stuff -->
                </telerik:RadGridView.RowDetailsTemplate>
            </telerik:RadGridView>
以上是一个不错的小工作,为我工作