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

Просто интересно, есть ли какой-нибудь инструмент, чтобы увидеть, какой стиль устанавливает значение свойства для элемента управления. В нашем приложении все RadComboBox имеют свойство IsEditable, установленное в true. Есть некоторая DLL, которую мы используем, вызывает это. Я предполагаю, что есть некоторый Style без Key для RadComboBox, который устанавливает это.

В WPF Inspector я вижу, что для каждого элемента управления RadComboBox в нашем приложении IsEditable установлено на True. А в разделе «Ресурсы» отображается множество ресурсов, и некоторые из них установлены внутри некоторых внешних библиотек DLL, которые мы включаем в наш проект.

Я хотел бы знать, какой именно стиль вызывает это, чтобы мы могли сузить круг нашей проблемы.


person Shankar Raju    schedule 10.04.2013    source источник


Ответы (1)


Обычно я проверяю, кто установил свойство в элементах управления Telerik, с помощью Snoop.

Закрепите элемент с помощью Control + наведение мыши. Затем выберите конкретный элемент в визуальном дереве, выберите подозрительное свойство Style и используйте кнопку «Delve», чтобы просмотреть свойства свойства Style, а именно найти x:Key.

Когда вы найдете ключ (обычно RadSometingStyle или Template), откройте каталог установки элементов управления Telerik, перейдите в папку Themes и найдите там все файлы xaml. Там вы найдете определение стиля. Удачи... :)

person dodsky    schedule 10.04.2013
comment
Спасибо, что предложили снуп! - person Shankar Raju; 11.04.2013
comment
Работает, чтобы найти x:Key, но мой просто говорит System.Windows.Controls.TextBox, поэтому я предполагаю, что мой стиль в этом случае - это стиль без указания x:Key, который где-то основан на другом стиле. - person Zack; 24.08.2015
comment
@Zack Вы правы, это означает, что стиль задается через TargetType. Это либо стиль по умолчанию из темы по умолчанию, либо переопределенный стиль, если вы загрузили какую-то пользовательскую тему. - person dodsky; 24.08.2015