2011-01-05 5 views
2

내 프로젝트에 datagrid 테이블을 사용합니다. datagrid의 열 중 하나는 내 프로젝트에 따라 문서의 경로입니다. 나는 그렇게 싶습니다wpf datagrid on click 이벤트

사용자가 경로 세포/하이퍼 링크 셀을 클릭

,

  • 프로그램의 경로를 얻을 것이다,
  • 프로그램은 다른 탭을 엽니 다.

열에 대한 onclick 이벤트가 표시되지 않습니다. 어떻게해야합니까? 또한 동일한 wpf 창에서 tabitem을 어떻게 전환 할 수 있습니까?

<toolkit:DataGridHyperlinkColumn Header="Path" Binding="{Binding path}" IsReadOnly="True" TargetName="{Binding Path=path}"> 
</toolkit:DataGridHyperlinkColumn > 
+0

OnClick 이벤트가 없지만 MouseDown, MouseUp, MouseLeftButtonDown, MouseLeftButtonUp, MouseRightButtonDown, MouseRightButtonUp 및 위 이벤트의 미리보기 버전이 있습니다. MouseUp 이벤트 중 하나를 사용하여 OnClick 이벤트를 대체하는 것이 좋습니다. –

답변

0

당신이 트리거를 사용하여 시도 해 봤나 :

하이퍼 링크를 열 것입니다?

당신이 MouseClick과 이벤트 에 대한 트리거를 정의하고 다른 탭 포커스

0

당신은는 TextBlock 및 하이퍼 링크를 배치하는에 DataGridTemplateColumn를 사용하여 시도 할 수 있습니다에게이 설정할 수 있습니다. 그러면 Click 이벤트가 제공됩니다. 여기에서 하이퍼 링크 열을 정의하는 샘플은이 닷넷 3.5 WPF 키트를 사용하여 프로젝트이었다

<dg:DataGridTemplateColumn Header="Link Column" Width="125"> 
    <dg:DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <TextBlock Margin="0,0,0,0"> 
       <Hyperlink Tag="{Binding TargetUrl}" Click="Url_Click"> 
        <InlineUIContainer> 
         <TextBlock Text="{Binding TargetText}"/> 
        </InlineUIContainer> 
       </Hyperlink> 
      </TextBlock> 
     </DataTemplate> 
    </dg:DataGridTemplateColumn.CellTemplate> 
</dg:DataGridTemplateColumn> 

참고있다. dg은 XAML에 정의되어 있습니다. xmlns:dg="http://schemas.microsoft.com/wpf/2008/toolkit"