2013-10-02 17 views
1

我有一个RadGridView它有一个上下文菜单,在这个上下文菜单中我有一个按钮,我在参数中设置了一个命令,我想通过gridview本身 - 我该怎么办这个?如何绑定xaml中的包含元素

<telerik:RadGridView Height="620" HorizontalAlignment="Right" Name="radGridView2" VerticalAlignment="Top" Width="1564" ShowGroupPanel="False" RowIndicatorVisibility="Collapsed" ItemsSource="{Binding Collections}" BorderBrush="#FFD7D2D2" FontFamily="Mangal" FontSize="14" Loaded="radGridView2_Loaded" AutoGenerateColumns="False" 
          RowStyleSelector="{StaticResource rowStyleSelector}" GroupRenderMode="Flat" ShowColumnSortIndexes="True" CanUserFreezeColumns="False" CanUserResizeColumns="False" 
          DataContext="{Binding}" IsReadOnly="True" DataLoading="radGridView2_DataLoading" DataLoaded="radGridView2_DataLoaded" GroupPanelForeground="#FFF01D1D" 
          ShowColumnFooters="True" ShowGroupFooters="True" AutoExpandGroups="True" GridLinesVisibility="Both" Grid.Row="1" Margin="0,0,35,0" MouseDoubleClick="radGridView2_MouseDoubleClick" 
          ColumnWidth="52*"> 
      <telerik:RadGridView.ContextMenu> 
       <ContextMenu> 
        <ContextMenu.Items> 
         <Button Command="{Binding PrintCommand}" CommandParameter="{Binding}"> 
          <Button.Content> 
           <TextBlock Text="Print"/> 
          </Button.Content> 
         </Button> 
        </ContextMenu.Items> 
       </ContextMenu> 
      </telerik:RadGridView.ContextMenu> 
     </telerik:RadGridView> 

使用{Binding}作为我CommandParameter不工作,它给了我在我单击行 - 这是一些业务对象 - - 我怎么含有格该行的数据上下文。

回答

1

如果你的意思“包含网”的RadGridView尝试

CommandParameter="{Binding PlacementTarget, RelativeSource={RelativeSource AncestorType=ContextMenu}}" 

您将需要PlacementTarget属性,因为ContextMenu有自己的VisualTree。

+0

感谢您的编辑也...清楚地说明 – jharr100

0

使用的RelativeSource绑定到父元素的数据上下文:

CommandParameter="{Binding DataContext, RelativeSource={RelativeSource AncestorType=telerik:RadGridView}}" 
+0

该参数仍然是'null' – jharr100

相关问题