【问题标题】:Wpf multiple hyperlinks in one columnWpf在一列中有多个超链接
【发布时间】:2018-11-10 02:30:07
【问题描述】:

在 Wpf DataGrid 中,我们如何在以逗号分隔的一列中显示多个超链接(每个指向不同的 URL)。

我们的 DataGrid 有两列,分别是 ID 和“文件名”。一个 ID 可以有多个文件。

我们需要在 DataGrid 中显示两列“ID”和“Files”,其中与 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>

感谢任何帮助。

【问题讨论】:

  • 你好,最近怎么样,如果你满意,可以接受我的回答吗?

标签: c# wpf datagrid


【解决方案1】:

您可以使用 DataTemplate 为每个超链接创建自己的 DataGridTemplateColumn,并将模板绑定到链接列表。

DataTemplate 可以是 ItemsControl,其中 ItemsSource 是链接列表

【讨论】:

  • 谢谢。我会尝试这种方法。
【解决方案2】:

在您的列表中,您可以有多个具有相同 ID 但具有不同文件的条目。

你想要达到的目标必须是这样的:

ID1 hyperlink1
    hyperlink2
    hyperlink3
ID2 hyperlink1

但是你可以有一个这样的列表:

ID1 hyperlink1
ID1 hyperlink2
ID1 hyperlink3
ID2 hyperlink1

【讨论】:

  • 这里我们重复 ID 列条目。我想要类似 ID1 |超链接1,超链接2,超链接3
【解决方案3】:
<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>

【讨论】:

    猜你喜欢
    • 2015-04-05
    • 2013-05-06
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多