2011-10-21 4 views
2

次のコードを使用して、wpfのxceedグリッドにハイパーリンク列を作成しています。 xceedグリッドにデータテーブルをバインドするとき、値はバインドされていますが、ハイパーリンクは作成されません。私を助けてください。wpfのハイパーリンク

<DataTemplate x:Key="ButtonTemplate"> 
     <TextBlock> 
     <Hyperlink Click="Hyperlink_Click"> 
      <StackPanel Orientation="Horizontal"> 
      <TextBlock Text="{Binding Path=.}"/> 
     <TextBlock Text="{Binding RelativeSource={RelativeSource 
      AncestorType= {x:Type xcdg:DataRow}},Path=DataContext.[Documents]}"/> 
       </StackPanel> 
     </Hyperlink> 
    </TextBlock> 
    </DataTemplate> 

答えて

3
<xcdg:Column FieldName="ColumnTest" Title="Test"> 
        <xcdg:Column.CellContentTemplate> 
         <DataTemplate> 
          <TextBlock> 
           <Hyperlink RequestNavigate="Hyperlink_RequestNavigate" NavigateUri="{Binding .}"> 
            <TextBlock Text="{Binding .}" /> 
           </Hyperlink> 
          </TextBlock> 
         </DataTemplate> 

        </xcdg:Column.CellContentTemplate> 
       </xcdg:Column> 

あなたはハイパーリンクがクリックされたとき、あなたはリクエストを送信できるようにRequestNavigateイベントハンドラを追加する必要があります。これはあなたのデフォルトのブラウザを開き、あなたのページにまっすぐに行くはずです。ここ

は、イベントハンドラのコードです:

private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e) 
     { 
      Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); 

      e.Handled = true; 
     }