powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / BindingExpression path error, хотя ничего не предвещало
5 сообщений из 5, страница 1 из 1
BindingExpression path error, хотя ничего не предвещало
    #39596487
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть грид:
Код: xml
1.
2.
3.
<DataGrid x:Name="PeopleGrid"
    ItemsSource="{Binding PeopleListView, Mode=TwoWay}"
    ...


Шаблон ячейки одного из столбцов грида:
Код: xml
1.
2.
3.
4.
5.
<DataTemplate x:Key="BirthdateTemplate">
    <DockPanel VerticalAlignment="Stretch">
        <WPFControlLib:TextBlockDateView texttt="{Binding Birthdate}" />
    </DockPanel>
</DataTemplate>



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.
WPFControlLib:TextBlockDateView texttt


заменю на
Код: xml
1.
TextBlock Text


всё будет работать корректно - значения будут отображаться. Обращение к полю Birthday контекста окна будет корректным, ошибки не возникает, значение поля Birthday возьмётся из контекста строки грида.
...
Рейтинг: 0 / 0
BindingExpression path error, хотя ничего не предвещало
    #39596503
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-нибудь в юзерконтроле часом не установлено
Код: c#
1.
DataContext=this;


?
...
Рейтинг: 0 / 0
BindingExpression path error, хотя ничего не предвещало
    #39596621
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныГде-нибудь в юзерконтроле часом не установлено
Код: c#
1.
DataContext=this;



?
да...

Больше того скажу. Нарыл хорошую статью , там говорится про отладку связей.
Прописал,
diag:PresentationTraceSources.TraceLevel=High
запустил, он выдал лог и всё стало ясно - он находит DataContext, которого быть не должно.
...
Рейтинг: 0 / 0
BindingExpression path error, хотя ничего не предвещало
    #39596627
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скиньте код объявления DP, Смахивает на несоответствие типа, если вы используйте свойство string, то передавать туда надо string, в не DateTime и наоборот
...
Рейтинг: 0 / 0
BindingExpression path error, хотя ничего не предвещало
    #39596633
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, вот он и обращается к моему же элементу, а не к контексту строки грида.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / BindingExpression path error, хотя ничего не предвещало
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]