powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Привязка из кода
25 сообщений из 27, страница 1 из 2
Привязка из кода
    #36986934
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WPF.

Добрый вечер. Подскажите пожалуйста, почему в ниже указанном коде элемент tbDescription не отображает текстовое значение?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Binding descBind = new Binding();
descBind.Source = tree;//tree - это экземпляр TreeView
// для tree.ItemsSource далее по коду источником данных будет задан ObservableDictionary<ValueInfo>. 
//Тип ValueInfo имеет экземплярный метод Description:
descBind.Path = new PropertyPath("SelectedItem.Description");
descBind.Mode = BindingMode.OneWay;
tbDescription.SetBinding(TextBlock.TextProperty, descBind);//tbDescription - экземпляр класса TextBlock

Если вместо " SelectedItem.Description " задать " SelectedItem " - привязка работает, отображая строку, полученную через ToString() . Но мне нужно выцепить конкретное свойство .
...
Рейтинг: 0 / 0
Привязка из кода
    #36987811
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
п.с. Description - это конечно же свойство, а не метод (оговорочка).
...
Рейтинг: 0 / 0
Привязка из кода
    #36987957
...
Рейтинг: 0 / 0
Привязка из кода
    #36988228
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мимо_пробегал_ отладочный конвертер
Линк не изучаю (много букв), к тому же ответ весьма прост и уже известен: причина ошибки - моя невнимательность:
Abolmasov DmitryПосмотрите в окно Output во время дебага, скорее всего вы там увидите ошибку биндинга

System.Windows.Data Error: 39 : BindingExpression path error: 'Description' property not found on 'object' ''KeyValuePair`2' (HashCode=-909584357)'. BindingExpression:Path=SelectedItem.Description; DataItem='TreeView' (Name='tree'); target element is 'TextBlock' (Name='tbDescription'); target property is 'Text' (type 'String')

Это происходит потому что вы привязываете treeView к словарю, и свойство SelectedItem возвращает не объект типа ValueInfo, а пару KeyValuePair<string, ValueInfo>, у которой нет свойства Description
Чтобы работал биндинг нужно изменить путь привязки:

Код: plaintext
descBind.Path = new PropertyPath("SelectedItem.Value.Description");
...
Рейтинг: 0 / 0
Привязка из кода
    #36988419
[quot Compositum]мимо_пробегал_Линк не изучаю (много букв), к тому же ответ весьма прост и уже известен: причина ошибки - моя невнимательность:


что это ваша ошибка было ясно изначально, учитывая Ваши предыдущие посылы новичков к букварям, Вам также было предложено почитать оный..

но если уж совсем лень приведу код, может кому пригодится

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public class DebuggingConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return value; // Add the breakpoint here!!
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException("This method should never be called");
        }
    }
...
Рейтинг: 0 / 0
Привязка из кода
    #36988483
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot мимо_пробегал_]Compositumпропущено...


что это ваша ошибка было ясно изначально, учитывая Ваши предыдущие посылы новичков к букварям, Вам также было предложено почитать оный..

но если уж совсем лень приведу код, может кому пригодится

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public class DebuggingConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return value; // Add the breakpoint here!!
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException("This method should never be called");
        }
    }

конвертер здесь совершенно не нужен. Я понял, что вы читали об IValueConverter, но использовать его следует к месту (имхо). Тут он неуместен.
...
Рейтинг: 0 / 0
Привязка из кода
    #36988490
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumТут он неуместен.
+1

P.S. Суёт какое-то левый гавноконвертер
...
Рейтинг: 0 / 0
Привязка из кода
    #36988526
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мимо_пробегал_,

В этой статье я использовал IValueConverter - можете на конкретных примерах увидеть, в каких ситуациях его следует использовать.
...
Рейтинг: 0 / 0
Привязка из кода
    #36988537
IValueConverter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CompositumТут он неуместенЭто простой способ за 2 минуты понять, в чем косяк в байндинге. Ошибки в указании пути в байндингах - очень распространенная вещь, и небольшой трюк с конвертером на самом деле весьма полезен. Не нужно быть таким категоричным, как тот же мсу с опилками в голове.
...
Рейтинг: 0 / 0
Привязка из кода
    #36988548
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IValueConverterЭто простой способ за 2 минуты понять, в чем косяк в байндинге. Ошибки в указании пути в байндингах - очень распространенная вещь, и небольшой трюк с конвертером на самом деле весьма полезен. Не нужно быть таким категоричным, как тот же мсу с опилками в голове.
Это ни разу не простой способ.
Простой способ - посмотреть во окно Output, в котором выводится текст сообщения об ошибке (ранее я никогда не пользовался этим окном - теперь буду пользоваться).
...
Рейтинг: 0 / 0
Привязка из кода
    #36988606
I
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
I
Гость
Compositumмимо_пробегал_,

В этой статье я использовал IValueConverter - можете на конкретных примерах увидеть, в каких ситуациях его следует использовать.

Такие статьи и примеры лучше не видеть.
...
Рейтинг: 0 / 0
Привязка из кода
    #36988620
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IТакие статьи и примеры лучше не видеть.
Имеются собственные, более грамотные аналоги?
...
Рейтинг: 0 / 0
Привязка из кода
    #36988628
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumЭто ни разу не простой способ. Простой способ - посмотреть во окно
+1

P.S. Опилки в голове у дурня, предлагающего заюзать какой-то левый костыль, который 100% не нужен по определению.
...
Рейтинг: 0 / 0
Привязка из кода
    #36988631
IValueConverter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CompositumЭто ни разу не простой способСорри, друг, не знаю, как еще проще можно "влезть" в цепочку обработки байндинга с возможностью поставить там брейкпоинт :)

CompositumПростой способ - посмотреть во окно Output, в котором выводится текст сообщения об ошибкеБез комментариев :)

Compositumранее я никогда не пользовался этим окном - теперь буду пользоватьсяВсе когда-нибудь используют какое-нибудь окно в первый раз, это нормально. Там (в аутпуте) много чего интересного можно увидеть. Первый шаг к освоению исконной программерской отладочной технологии - трейсингу ты уже сделал :)
...
Рейтинг: 0 / 0
Привязка из кода
    #36988643
Compositum,

Дело не в том для чего он нужен, а в том что с его помощью можно сделать. В данном случае через него легко увидеть, что Вы ломитесь по несуществующему пути.

PS проект поглядел. бугагашенька. советую познакомиться с MVVM ))
...
Рейтинг: 0 / 0
Привязка из кода
    #36988662
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IValueConverterСорри, друг, не знаю, как еще проще можно "влезть" в цепочку обработки байндинга с возможностью поставить там брейкпоинт :)
Вопрос лишь в том, - зачем лезать в эту цепочку, если можно прочитать про ошибку байдинга.
Сломалась подводная лодка, на приборке - причина поломки. Капитану нахрен не нужна приборка и он лезет в моторный отсек, начинает упорно искать причину поломки. Великолепно. В стиле параноика Севы

IValueConverterCompositumПростой способ - посмотреть во окно Output, в котором выводится текст сообщения об ошибкеБез комментариев :)
А какие тут комментарии нужны?
...
Рейтинг: 0 / 0
Привязка из кода
    #36988727
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
CompositumIТакие статьи и примеры лучше не видеть.
Имеются собственные, более грамотные аналоги?

Имеются. Вместо подобных конвертеров достаточно иметь Model c ленивой загрузкой, тогда все делается на автомате без этих плясок с бубном
...
Рейтинг: 0 / 0
Привязка из кода
    #36988800
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
МСУIValueConverterСорри, друг, не знаю, как еще проще можно "влезть" в цепочку обработки байндинга с возможностью поставить там брейкпоинт :)
Вопрос лишь в том, - зачем лезать в эту цепочку, если можно прочитать про ошибку байдинга.
Сломалась подводная лодка, на приборке - причина поломки. Капитану нахрен не нужна приборка и он лезет в моторный отсек, начинает упорно искать причину поломки. Великолепно. В стиле параноика Севы

IValueConverterпропущено...
Без комментариев :)
А какие тут комментарии нужны?

MCУ, когда ты дорастешь хотя бы до нескольких справочников в одном проекте, тогда узнаешь зачем нужны конвертеры для отладки. Бывают варианты, когда информации в output недостаточно для того, чтобы быстро обнаружить проблему
...
Рейтинг: 0 / 0
Привязка из кода
    #36988829
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сева, вот только соплей твоих не надо тут, ладно?

iБывают варианты, когда информации в output недостаточно для того, чтобы быстро обнаружить проблему
Готов привести такие варианты? Код в студию.
...
Рейтинг: 0 / 0
Привязка из кода
    #36988866
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMCУ, когда ты дорастешь...
Вообще-то, Developing Senior - это железобетонный аргумент, говорящий о том, что его мнение имеет существенный вес, в свете чего вся выливаемая грязь попадает прямиком на своего автора (только он этого не понимает)...
...
Рейтинг: 0 / 0
Привязка из кода
    #36988917
Фотография pitachek69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum...Вообще-то, Developing Senior - это железобетонный аргумент...
не хочу влазить в их терки, но подобные словечки ВООБЩЕ ничего не говорят. Это скорее твоя оценка относительно окружающих коллег.
...
Рейтинг: 0 / 0
Привязка из кода
    #36988935
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
CompositumiMCУ, когда ты дорастешь...
Вообще-то, Developing Senior - это железобетонный аргумент, говорящий о том, что его мнение имеет существенный вес, в свете чего вся выливаемая грязь попадает прямиком на своего автора (только он этого не понимает)...

Лично я никакой грязи не вижу. Я высказал свое мнение, а вы воспринимаете это, как личное оскорбление. Ленивая загрузка делает код проще и внятней.
...
Рейтинг: 0 / 0
Привязка из кода
    #36988939
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей, я думаю, чт о не стоит акцентировать внимание на факт того, кем работает тот или иной мембер :) Тут я соглашусь с pitachek69.
Тут важнее другое - то, что в очередной сотный раз Сева показывает свою невменяемость. Кстати, как думаете, код от него будет? Ваши ставки
...
Рейтинг: 0 / 0
Привязка из кода
    #36988948
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iЛично я никакой грязи не вижу. Я высказал свое мнение, а вы воспринимаете это, как личное оскорбление. Ленивая загрузка делает код проще и внятней.
Уважаемый, я задал вопрос, ответ будет? 9869160
...
Рейтинг: 0 / 0
Привязка из кода
    #36988960
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю, что I SEE трескает попкорн...
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Привязка из кода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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