【发布时间】:2016-08-19 15:40:45
【问题描述】:
我正在从我的 xaml 文件中的数据集中打印出一个 url。问题是,如果字符串是有效的 URL,我只需要创建一个超链接。
我知道如何在大多数语言中执行此操作,但在 WPF 中不知道。我正在寻找可以用作的东西;
if(isurl)
display hyperline gridrow
else
display string gridrow
我目前的xaml是;
<u:GridViewColumnEx x:Uid="column_4" Width="225" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<Hyperlink>
<TextBlock Text="{Binding Data.path}"/>
</Hyperlink>
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</u:GridViewColumnEx>
但这会将列中的所有内容显示为超链接(显然)。我已经阅读了有关触发器的信息,但不确定这是否是我所追求的。我已经阅读了很多关于触发器的内容,但不确定如何根据返回值更改 xaml。
【问题讨论】:
-
"我知道如何在大多数语言中做到这一点,但在 WPF 中不知道" 那么你知道如何在 C# 中做到这一点吗?因为 WPF 不是语言..
-
对不起,我了解 c# 方面(主要)但不了解 XAML,应该说清楚; IE我将能够在c#中创建一个方法,即如果它检测到一个url,则返回true,如果它不是一个url,则返回false。但我的问题是将该值应用于 XAML 以显示 url 或 norma 文本。
-
三个(标记为重复但也有答案):stackoverflow.com/questions/16079685/…