|
Как дебажить GUI или проблемы с Fluent Ribbon Control Suite
|
|||
---|---|---|---|
#18+
WPF. Я использую Fluent Ribbon Control Suite. У меня в контроле Spinner почему-то непонятные дефолтные значения указываются. У этого контрола есть такие свойства, как Minimum, Maximum и Value, которые могут за это отвечать. При этом в дебаге привязки с помощью конвертера проверял, что из модели у меня приходят значения, скажем, Minimum=1, Maximum=100, Value=15, а дефолтное значение на контроле - 10. При этом, если начать пользоваться этим значением, то оно только в самом контроле, а в модели по-прежнему 15 - проверял в дебаге по свойству модели. Но, если сделать фокус на контоле, а потом убрать его, то у контрола срабатывает его внетренний триггер и он изменяет значение свойства модели с моего 15 на свой 10. Причём это явно не какое-то внутреннее дефолтное значение, т. к. при других значениях максимума, минимума и дефолтного значения моей модели, на контроле тоже другое дефолтное значение. Скажем, у меня был минимум 1,0, максимум 1 000 000 000,0, а значение в модели 40 000 000,0. При этом спиннер показывал сразу после загрузки интерфейса значение 100 000,0. И всё то же самое - нигде в дебаге или в своём коде я такое значение не встречал. Ума не приложу, как такое может быть. Поэтому посмотреть, что он там внутри делает. Но это вроде как сторонний компонент, хоть и с открытым исходным кодом. Самое простое, что я знаю, это найти проект с этим контролом и подключить его в своё решение. Тогда можно в самом проекте поставить точку останова и Студия остановится на этом месте. А можно как-то без подключения чужих проектов в своё решение? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2015, 06:38 |
|
Как дебажить GUI или проблемы с Fluent Ribbon Control Suite
|
|||
---|---|---|---|
#18+
Alexey2112, a) Используйте программы шпионы (сам пользуюсь Snoop! ( https://snoopwpf.codeplex.com/)) Программа полностью отображает визуальное дерево и все свойства и привязки всех элементов этого дерева. Очень удобно. Так же помогает быстро найти битые привязки б) Использовать IntelliSense, если Exception возникает, но так как выполняется внутри UI и не "возбуждается" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2015, 07:07 |
|
|
start [/forum/topic.php?fid=21&fpage=17&tid=1440870]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 258ms |
total: | 405ms |
0 / 0 |