2011-01-13 3 views
0

쉬운 작업인지 궁금합니다. 하이퍼 링크가되도록 DataGrid 내부의 일부 텍스트를 가져와야합니다. XMLDataProvider를 사용하여 내용을 생성했습니다. 어떤 아이디어든지 높게 평가된다.DataGrid의 일부 열의 내용을 하이퍼 링크로 만드는 방법은 무엇입니까?

내 DataGrid가 아래를 보입니다. 나는 WPF 툴킷 함께 일하고 :

<DataGrid x:Name="MainGrid" GridLinesVisibility="Horizontal" AutoGenerateColumns="False" RowHeight="20" ItemsSource="{Binding XPath=/ServicesTiles/Servers}" 
           HeadersVisibility="None" Margin="10,15,0,0" 
           HorizontalGridLinesBrush="{x:Null}" 
           BorderBrush="{x:Null}" 
           VerticalGridLinesBrush="{x:Null}" 
           Background="{x:Null}" 
           RowBackground="{x:Null}" 
           CellStyle="{DynamicResource DataGridCellStyle1}" 
           HorizontalAlignment="Left"> 
         <DataGrid.Columns> 
          <DataGridTextColumn Binding="{Binding [email protected]}" Foreground="#FF6E6E6E" MinWidth="160" /> 
          <DataGridTextColumn Binding="{Binding [email protected]}" Foreground="#FF6E6E6E" MinWidth="270"/> 
          <DataGridTextColumn Binding="{Binding [email protected]}" Foreground="#FF6E6E6E" MinWidth="220"/> 
          <DataGridTextColumn Binding="{Binding [email protected]}" Foreground="#FF6E6E6E" MinWidth="220"/> 
         </DataGrid.Columns> 
        </DataGrid> 

답변

1

만들기 사용 ... 작동하는지 알려주세요. DataGridDataContext으로 다시 전화하려면 FindAncestor을 사용하고 DataGrid 유형으로 검색해야합니다.

 <toolkit:DataGridTemplateColumn> 
      <toolkit:DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <TextBlock> 
         <Hyperlink Command="{Binding DoStuff}"/> 
        </TextBlock > 
       </DataTemplate > 
      </toolkit:DataGridTemplateColumn.CellTemplate> 
     </toolkit:DataGridTemplateColumn> 
+0

나는 위의 HCL에 대해 설명한 것과 동일한 문제가있다. 내 질문에 추가 한 DataGrid 코드에서 기술을 사용하여 DataGridTextColumn을 어떻게 다시 만들 수 있는지 궁금합니다. 다시 감사합니다. – vladc77

4

다음은 DataGridColumn 당신이 원하는 것을해야

<DataGridTemplateColumn> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <TextBlock > 
       <Hyperlink> 
        <TextBlock Text="{Binding YourProperty}" />                      
       </Hyperlink>          
      </TextBlock> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate>       
</DataGridTemplateColumn> 

편집
(I 테스트하지 않은 작동하지 않는 경우, 댓글을 확인) 요청에 따라 여기에 제 제안서를 어떻게 삽입할까요? HyperlinkCommand

<DataGrid.Columns> 
<DataGridTextColumn Binding="{Binding [email protected]}" Foreground="#FF6E6E6E" MinWidth="160" /> 
<DataGridTextColumn Binding="{Binding [email protected]}" Foreground="#FF6E6E6E" MinWidth="270"/> 
<DataGridTextColumn Binding="{Binding [email protected]}" Foreground="#FF6E6E6E" MinWidth="220"/> 
<DataGridTextColumn Binding="{Binding [email protected]}" Foreground="#FF6E6E6E" MinWidth="220"/> 
<DataGridTemplateColumn> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <TextBlock > 
       <Hyperlink> 
        <TextBlock Text="{Binding [email protected]}" />                      
       </Hyperlink>          
      </TextBlock> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate>       
</DataGridTemplateColumn> 

</DataGrid.Columns> 
+0

필자의 경우이 DataTemplate을 적용 할 수 없습니다. 내 질문에 DataGrid 코드를 추가했습니다. 봐주세요. 내 경우 DataGridTemplateColumn 스타일을 어디에 설정할 수 있는지 궁금하다. 다시 감사합니다. – vladc77

+0

@ vladc77 : 편집 내역보기 – HCL

+0

어떤 이유로 'DataGridTemplateColumn.CellTemplate'속성이 인식되지 않습니다. 나는 그것을 추가 할 수 없다. 나는 오류가 발생하고 있습니다. 나는 무엇이 잘못 될 수 있는지 궁금합니다. – vladc77

관련 문제