Wpf 通过绑定动态创建包含可单击链接的文本
我确实想创建一个listview,它由一个自己类的许多项组成。其中一个属性是可以包含一个或多个链接的文本。通常我使用一个文本块和一个文本绑定来显示这个内容 现在我确实希望这些文本被解析为链接,然后动态地使这些链接可点击。我发现了一些代码,比如关于如何创建带有超链接的textblock的代码,这样我就可以了——但是WPF绑定在Text属性上是可用的,所以这最终对我没有帮助 那么,有没有一种方法可以绑定listview中的项目列表(ObservableCollection或类似项目),使其在文本中具有可单击的链接呢 提前ThxWpf 通过绑定动态创建包含可单击链接的文本,wpf,listview,binding,hyperlink,Wpf,Listview,Binding,Hyperlink,我确实想创建一个listview,它由一个自己类的许多项组成。其中一个属性是可以包含一个或多个链接的文本。通常我使用一个文本块和一个文本绑定来显示这个内容 现在我确实希望这些文本被解析为链接,然后动态地使这些链接可点击。我发现了一些代码,比如关于如何创建带有超链接的textblock的代码,这样我就可以了——但是WPF绑定在Text属性上是可用的,所以这最终对我没有帮助 那么,有没有一种方法可以绑定listview中的项目列表(ObservableCollection或类似项目),使其在文本中具
Sven我有一个简单的解决方案 使用DataTemplate,您可以为类指定模板,例如包含文本的LinkItem和超链接
public class LinkItem
{
public string Text { get; set; }
public string Hyperlink { get; set; }
public LinkItem(string text, string hyperlink)
{
Text = text;
Hyperlink = hyperlink;
}
}
// XAML Data template
<DataTemplate DataType="{x:Type HyperlinkDemo:LinkItem}">
<TextBlock>
<TextBlock Text="{Binding Text}" Margin="1" />
<Hyperlink>
<TextBlock Text="{Binding Hyperlink}" Margin="1" />
</Hyperlink>
</TextBlock>
</DataTemplate>
// List box definition
<ListBox ItemsSource="{Binding LinkItems}" />
公共类链接项
{
公共字符串文本{get;set;}
公共字符串超链接{get;set;}
公共链接项(字符串文本、字符串超链接)
{
文本=文本;
超链接=超链接;
}
}
//XAML数据模板
//列表框定义
又好又简单。只需在LinkItems集合中添加一堆LinkItem,您将在列表框中获得文本和超链接的良好组合
您还可以在LinkItem类中加入一个命令,使事情变得更有趣,并将该命令绑定到超链接
<Hyperlink Command="{Binding HyperlinkCommand}"> ....
。。。。