Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / как прочесть ячейку gridview (WPF) в Widows Vista / 2 сообщений из 2, страница 1 из 1
10.02.2010, 15:41
    #36460910
flashslash
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как прочесть ячейку gridview (WPF) в Widows Vista
Пишу wpf-приложение. На форме есть gridview который внутри listview.
Пытаюсь по клику на грид прочесть значение ячейки выделенной строки, для этого использую процедуру (name - имя столбца):

public string UglyHack(string name, System.Windows.Controls.ListView lst)
{

var columns = (lst.View as GridView).Columns;
int index = -1;
for (int i = 0; i < columns.Count; ++i)
{
if (columns[i].Header.ToString() == name)
{
index = i;
break;
}
}

try
{
DependencyObject j = lst.ItemContainerGenerator.ContainerFromIndex(lst.SelectedIndex);
while (!(j is GridViewRowPresenter)) j = VisualTreeHelper.GetChild(j, 0);
return (VisualTreeHelper.GetChild(j, index) as TextBlock).Text;
}
catch
{
return "";
}
}


из под XP все работает, но в висте функция возвращает пустое значение.
Вопрос - есть ли другой способ, получения ячейки из Gridview в WPF?

Покупайте наших слонов
...
Рейтинг: 0 / 0
10.02.2010, 18:15
    #36461480
flashslash
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как прочесть ячейку gridview (WPF) в Widows Vista
кстати, я понял из-за чего баг.
Приведенный мной выше код работает только на Framework 3.5, но он уже не работает на Framework 3.5 SP1.
Вот так...
вылетает ошибка выхода индекса за пределы диапазона..
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / как прочесть ячейку gridview (WPF) в Widows Vista / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]