Проверка типа элемента управления может быть безопасно выполнена в потоке, отличном от потока-владельца:
bool result = uiElement is CustomType;
Если по какой-либо причине (вы не упомянули в вопросе),
uiElement
- внешне доступная переменная (например, поле или свойство),
- и значение
uiElement
может быть изменено другим потоком,
- и вам все еще нужно получить доступ к нему после проверки типа,
безопаснее один раз присвоить результат проверки типа локальной переменной:
var customElement = uiElement as CustomType;
if (customElement != null)
{
// do something with customElement ...
}