在Wpf DataGrid中,我们如何在一列中以逗号分隔显示多个超链接(每个指向不同的URL)。
我们有DataGrid有两列,分别是ID和'文件名'。单个ID可以包含多个文件。
我们需要在DataGrid中显示两列' ID'和'文件'使用与单个行中的id关联的文件,文件名以逗号分隔为超链接,因此用户可以单击超链接并将其打开。
我可以为单个链接而不是多个超链接。代码文件列显示单列
<DataGridHyperlinkColumn Header="Files"
Binding="{Binding FileLink}" ContentBinding="{Binding FileName}" Width="Auto" CanUserSort="False">
<DataGridHyperlinkColumn.ElementStyle>
<Style>
<EventSetter Event="Hyperlink.Click"Handler="Hyperlink_Click"/>
</Style>
</DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn>
感谢任何帮助。
答案 0 :(得分:2)
您可以为每个超链接创建一个带有DataTemplate的DataGridTemplateColumn,并将模板绑定到链接列表。
DataTemplate可以是ItemsControl whouse ItemsSource是链接列表
答案 1 :(得分:0)
在您的列表中,您可以拥有多个具有相同ID但具有不同文件的条目。
你想要达到的目标必须是这样的:
ID1 hyperlink1
hyperlink2
hyperlink3
ID2 hyperlink1
但你可以有一个这样的清单:
ID1 hyperlink1
ID1 hyperlink2
ID1 hyperlink3
ID2 hyperlink1
答案 2 :(得分:0)
<dxg:GridColumn Header="Actions" IsSmart="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock>
<dxe:HyperlinkEdit Name="EditActionLink" AllowAutoNavigate="True" Text="Edit"/>
</TextBlock>
<TextBlock>
<dxe:HyperlinkEdit Name="DeleteActionLink" AllowAutoNavigate="True" Text="Delete"/>
</TextBlock>
</StackPanel>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>