将DataGridHyperlinkColumn绑定设置为URI属性
本文关键字:URI 属性 设置 DataGridHyperlinkColumn 绑定 | 更新日期: 2023-09-27 18:08:40
不知道该怎么做。我试图在代码后面设置一个DataGridHyperlinkColumn
,以便所有链接指向相同的URI,但每个都有不同的属性值。
到目前为止我写的是:
DataGridHyperlinkColumn dgCol = new DataGridHyperlinkColumn();
dgCol.Header = title;
dgCol.ContentBinding = new Binding("PersonName");
dgCol.Binding = "PersonEditPage.xaml?PersonID=" + Binding("PersonID");
当然dgCol.Binding
期待一个绑定对象,所以我不能只是添加一个字符串到这个。你能帮我正确创建这个绑定吗?
我没能找到任何有用的东西,但也许这是因为我不知道我应该找什么。以下是我一直在看的一些东西(如果我错过了什么,请原谅我):
- MSDN导航概述
- MSDN绑定概述
- 关于绑定的帖子 <
- WPF导航/gh>
- URI属性发布
您需要使用转换器来格式化包含当前属性的PersonID
的URL字符串:
DataGridHyperlinkColumn hypCol = new DataGridHyperlinkColumn();
hypCol.Header = "Link";
hypCol.ContentBinding = new Binding("PersonName");
hypCol.Binding = new Binding("PersonID") {
Converter = new FormatStringConverter(),
ConverterParameter = "PersonEditPage.xaml?PersonID={0}"
};
转换器定义如下:
public class FormatStringConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
if (value == null || parameter == null)
{
return null;
}
return string.Format(parameter.ToString(), value.ToString());
}
public object ConvertBack(object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}