Я работаю над настольным WPF-приложением (.net 4). Одно из его окон содержит tabControl
, чьи tabitems
содержат каждый Listview
, вид которого равен GridView
. TabItems, ListViews и GridViews динамически генерируются. Когда пользователь нажимает кнопку на каждом tabitem, представление ListView обновляется по умолчанию по умолчанию DataTable от SQL Server
(конечно, выбранные строки зависят от запроса пользователя, но здесь это не имеет значения).WPF ListView-GridView: связать образ
Все работает просто отлично, с (сокращенным) кодом ниже для GridView
(г.в.) генерируется динамически:
foreach (KeyValuePair<string, string> Column in Columns)
{
GridViewColumn gvc = new GridViewColumn();
gvc.DisplayMemberBinding = new Binding(Column.Key);
gv.Columns.Add(gvc);
}
Как вы можете видеть, что я создал словарь с именами столбцов соответствия столбцов DataTable, полученный от SQL Server (я использую Column.Value для специального использования, также несущественный здесь).
Мой вопрос «просто»:
Один из столбца содержит значение, которое я хотел бы показать, как логотип; Очевидно, столбец SQL-сервера содержит строки (скажем, «a» или «b»), и у меня есть изображения с именем «a.png» и «b.png» (которые я могу отображать динамически, например testimage.Source = new BitmapImage(new Uri("../../images/a.png", UriKind.Relative))
).
Итак, как я мог в C# заменить буквы «a» и «b» в столбце ListView на «a.png» и «b.png»?
Надеюсь, я поняла и уже благодарю всех людей, которые возьмут на себя время, чтобы прочитать и попытаться ответить на мой вопрос.
Thx, но он не работает: в displaymemberbinding просто показывает путь, отправленный MyImageConverter; тем не менее, решение для всего кода - это путь, но моя проблема заключается в создании кода, лежащего в основе шаблона данных, который указывает на конвертер ... –
Хорошо, я понял, посмотрю полный ответ на http: // social .msdn.microsoft.com/Форум/EN-US/МОФ/резьба/0de6df72-856a-4dc4-A063-ffc32baa393d –