Страницы

Поиск по вопросам

вторник, 23 апреля 2019 г.

WPF. Нужно колонку заполнить ссылками

Имеется источник данных и DataGrid. Нужно заполнить последнюю колонку ссылками, ссылки будут однотипные примера somesite.ru/user?id=ID, где id берестся из ItemSource. Все никак с Binding разобраться не могу.


Ответ

А что сложного?
Создаёте конвертер:
class UriConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var id = (string)value; return new Uri("http://somesite.ru/user?id=" + id); }
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotSupportedException(); } }
Затем, положите его в ресурсы вашего окна:

И используйте для конвертации:

Подписка на RequestNavigate нужна для того, чтобы работали ссылки.
void OnRequestNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) { var uri = e.Uri.AbsoluteUri; Task.Run(() => Process.Start(uri)); e.Handled = true; }
Вроде бы всё, должно работать.

Комментариев нет:

Отправить комментарий