在数据网格中,我想在单元格的内容中放置一个超链接
<sdk:DataGridTextColumn Binding="{Binding Code}" Header="Code" Width="40" HeaderStyle="{StaticResource myStyle}" />
仅当MyUrl属性的内容[包含我已绑定的代码的同一对象]的内容既不为null也不为空
我该怎么做?
答案 0 :(得分:3)
假设您希望此列是只读的,您可以使用DataGridTemplateColumn,放入HyperLinkButton并使用像这样的转换器将IsHitTestVisible绑定到MyUrl
<sdk:DataGridTemplateColumn Header="Code" Width="40">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<HyperlinkButton IsHitTestVisible="{Binding Path=MyUrl,
Converter={StaticResource InvertNullOrEmptyConverter}}"
Content="{Binding Code}" NavigateUri="{Binding MyUrl}"/>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
在转换器中
public class InvertNullOrEmptyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string valueToCheck = value as string;
if (valueToCheck == null || valueToCheck == string.Empty)
{
return false;
}
return true;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}