Определить тип элемента WPF - PullRequest
2 голосов
/ 15 июня 2009

Как программно определить тип элемента в WPF?

Например, мой xaml состоит из текстового поля, переключателей, комбо, списков и т. Д.

В событии загрузки, скажем, я хочу сделать что-то, связанное с элементами управления (скажем, для всего текстового поля,

цвет переднего плана будет красным, для всех надписей цвет фона будет зеленым) ..

что-то в этом роде.

Итак, я должен просмотреть весь список элементов управления, присутствующих в Xaml, а затем должен

написать конкретную логику управления.

Это с помощью элемента Framework?

Пожалуйста, дайте код в c #. Например, возьмите 3/4 управления по вашему выбору.

Я также ищу в Google!

Заранее спасибо

Ответы [ 3 ]

8 голосов
/ 15 июня 2009

Вы можете использовать:

if (element is Grid)
{
}
else if (element is Label)
...
5 голосов
/ 15 июня 2009

, если у вас есть только конечное число типов, чтобы проверить, не пытайтесь литье с использованием оператора "as", а затем проверять на ноль.

Button button = control as Button;
if (button != null)
{
  // this is a button)
}
...

Оператор as не сгенерирует исключение, если приведение не может быть выполнено.


РЕДАКТИРОВАТЬ: ЕСЛИ вы только пытаетесь добиться стиля элементов управления, вы должны посмотреть на тег <Style/>.

См. здесь для хорошего примера

3 голосов
/ 15 июня 2009

GetType () должен работать, если у вас есть ссылка на элемент управления / тип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...