2012-05-06 2 views
2

ElementName을 통해 바인딩하는 GridColumn.CellTemplate 내에 Hyperlink.Command가 있습니다. RelativeSource를 사용하여 바인딩을하고 싶습니다만 어떻게 그렇게 할 수 있는지 알 수 없습니다. 이와 관련하여 도움이된다면 크게 도움이됩니다. 감사합니다 ....RelativeSource 대 ElementName

<dxg:GridControl 
    DataContext="{StaticResource viewModel}" 
    Name="grid" 
    ItemsSource="{Binding Details}" 
    Grid.Row="1"> 
    <dxg:GridControl.View> 
     <dxg:TableView 
      ShowGroupPanel="False" /> 
    </dxg:GridControl.View> 
    <dxg:GridControl.Columns> 
     <dxg:GridColumn 
      Header="Even or Odd" 
      Width="200" 
      FieldName="EvenOrOdd"> 
      <dxg:GridColumn.CellTemplate> 
       <DataTemplate> 
        <TextBlock 
         Padding="4,0"> 
        <Hyperlink 
          Command="{Binding DataContext.ToggleCommand, ElementName=grid}" 
          CommandParameter="{Binding RowData.Row}"> 
         <TextBlock 
           Text="{Binding Value}" /> 
        </Hyperlink> 
       </TextBlock> 
       </DataTemplate> 
      </dxg:GridColumn.CellTemplate> 
     </dxg:GridColumn> 
     <dxg:GridColumn 
      FieldName="Number" 
      Width="200" /> 
    </dxg:GridControl.Columns> 
</dxg:GridControl> 

답변

2

당신은 AncestorType을 지정해야합니다

Command="{Binding DataContext.ToggleCommand, 
        RelativeSource={RelativeSource AncestorType=dxg:GridControl}}" 
+0

완벽! 모든 도움 주셔서 감사합니다. –

관련 문제