|
BindingExpression path error, хотя ничего не предвещало
|
|||
---|---|---|---|
#18+
Есть грид: Код: xml 1. 2. 3.
Шаблон ячейки одного из столбцов грида: Код: xml 1. 2. 3. 4. 5.
TextBlockDateView наследован от UserControl, а texttt - это у него propdp такой. В процессе выполнения выдаётся ошибка System.Windows.Data Error: 40 : BindingExpression path error: 'Birthdate' property not found on 'object' ''TextBlockDateView' (Name='')'. BindingExpression:Path=Birthdate; DataItem='TextBlockDateView' (Name=''); target element is 'TextBlockDateView' (Name=''); target property is 'texttt' (type 'String') Выделил жирным непонятное - почему он Birthday ищет в моём контроле, а не в контексте грида? Если я фрагмент Код: xml 1.
заменю на Код: xml 1.
всё будет работать корректно - значения будут отображаться. Обращение к полю Birthday контекста окна будет корректным, ошибки не возникает, значение поля Birthday возьмётся из контекста строки грида. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2018, 01:30 |
|
BindingExpression path error, хотя ничего не предвещало
|
|||
---|---|---|---|
#18+
Где-нибудь в юзерконтроле часом не установлено Код: c# 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2018, 05:51 |
|
BindingExpression path error, хотя ничего не предвещало
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныГде-нибудь в юзерконтроле часом не установлено Код: c# 1.
? да... Больше того скажу. Нарыл хорошую статью , там говорится про отладку связей. Прописал, diag:PresentationTraceSources.TraceLevel=High запустил, он выдал лог и всё стало ясно - он находит DataContext, которого быть не должно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2018, 11:25 |
|
BindingExpression path error, хотя ничего не предвещало
|
|||
---|---|---|---|
#18+
скиньте код объявления DP, Смахивает на несоответствие типа, если вы используйте свойство string, то передавать туда надо string, в не DateTime и наоборот ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2018, 11:33 |
|
BindingExpression path error, хотя ничего не предвещало
|
|||
---|---|---|---|
#18+
Roman Mejtesскиньте код объявления DP, Смахивает на несоответствие типа, если вы используйте свойство string, то передавать туда надо string, в не DateTime и наоборот да мы тут с "Сон Веры Павловны " разобрались как раз буквально только что... Там не смотря на присутствие слова "Date" все типы string. Типов DateTime просто нет. Проблема в том, что я в своём контроле устанавливал DataContext. Я думал, что это ни на что не повлияет, но вот когда я смотрел лог для TextBlock, я там увидел System.Windows.Data Warning: 69 : BindingExpression (hash=2902278): Found data context element: TextBlock (hash=18876224) (OK) System.Windows.Data Warning: 70 : BindingExpression (hash=2902278): DataContext is null System.Windows.Data Warning: 64 : BindingExpression (hash=2902278): Resolve source deferred А когда TextBlock заменил на свой компонент, то выделенной строки не было. И тут сразу стало ясно, что я перебиваю DataContext, вот он и обращается к моему же элементу, а не к контексту строки грида. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2018, 11:42 |
|
|
start [/forum/topic.php?fid=21&msg=39596487&tid=1440450]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
31ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 157ms |
0 / 0 |