Има ли начин да проверите кой стил задава стойност на свойство за контрола?

Просто се чудя дали има някакъв инструмент, за да видите какъв стил задава стойност на свойство за контрола. В нашето приложение всички RadComboBoxes имат свойството IsEditable, зададено на true. Има някакъв DLL, който използваме, който причинява това. Предполагам, че има някакво Style без Keyза RadComboBox, което задава това.

В WPF Inspector виждам, че всяка контрола RadComboBox в нашето приложение има IsEditable зададено на True. И под раздела Ресурси има куп ресурси, които се показват и някои от тях са зададени в някои външни DLL файлове, които включваме в нашия проект.

Бих искал да знам кой конкретен стил причинява това, за да можем да стесним проблема си.


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


Отговори (1)


Обикновено проверявам кой е задал собствеността в контролите на Telerik, като използвам Snoop.

Закачете елемента с Control + Mouse. След това изберете точния елемент във визуалното дърво, изберете подозиращото свойство Style и използвайте бутона Delve, за да видите свойствата на свойството Style, а именно потърсете x:Key.

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

person dodsky    schedule 10.04.2013
comment
Благодаря, че предложихте Snoop! - 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