2011-01-08 2 views
0

В настоящее время я работаю над приложением, которое использует панель макета таблицы для отображения строки данных. Каждая строка содержит определенное количество текстовых полей и флажок.Является ли сетка WPF лучше, чем панель компоновки таблицы Winform

Количество рядов, имеющихся, как правило, довольно большое, что делает загрузку и навигацию панели макета таблицы чрезвычайно медленной.

После некоторого исследования я обнаружил, что TLP является одним из самых медленных элементов управления Winform UI, и я хотел бы вместо этого использовать WPF Grid.

Мой вопрос два раза:

1) выполнять Имеет ли WPF сетки лучше, чем Компоновка панели таблицы, когда речь идет о большом количестве строк?

2) Можно ли включать элементы управления WPF в приложение, которое использует исключительно элементы управления winform? (Приложение использует .NET 3.5)

Спасибо за ваше время и у вас отличный день.

+1

Почему бы не использовать DataGridView? Это сделано для отображения строк данных ... – siride

+0

Выполняет ли DataGridView лучше, чем панель макета таблицы? Спасибо за вашу помощь. –

+0

Я проверил, DataGridView не может мне помочь, так как данные, которые я показываю, - это не только сырой текст. Каждая строка представляет собой комбинацию нескольких текстовых полей. Мало того, но текстовые поля уважают определенный порядок и макет. Они не близки друг к другу и имеют одинаковый размер. –

ответ

4

Для выполнения вы должны будете сделать свое сравнение. Есть так много факторов, которые могут повлиять на это, что хорошо написанные WinForms могут быть быстрее, чем плохо написанный WPF или наоборот. Просто сделайте небольшое прототипирование и посмотрите, станет ли его очевидной победой для вас.

Что касается использования небольшого WPF в основном приложении WinForms, да, это поддерживается и может работать хорошо. Просто поместите свой контент WPF в WPF UserControl, а затем добавьте ElementHost в свою форму и разместите в нем элемент управления WPF. Здесь намного больше информации:

0

У вас есть рабочий или рабочий стол для загрузки элемента в панель макета таблицы, если у вас есть проблема с замораживанием?

+0

Добавление элементов в панель макета таблицы не выполняется с помощью потоков. Я планировал добавить многопоточность, но манипулирование (например, прокрутка или изменение размера) панель макета таблицы будет по-прежнему медленной, поэтому я предпочел использовать WPF с помощью get-go. –

Смежные вопросы