Привязка текста к текстовому полю

#c# #silverlight #silverlight-4.0

#c# #silverlight #silverlight-4.0

Вопрос:

Я привязываю текст к своему текстовому полю, но имя моей привязки начинается с подчеркивания. Вот как это существует в базе данных. Проблема в том, что это, похоже, не работает. Данные есть, но имя привязки не становится красным в XAML (обычно это происходит). Если я заменю его другим полем (тем, которое не начинается с подчеркивания), кажется, что все работает нормально.

Кто-нибудь может порекомендовать хорошее решение для этого? Я не могу редактировать поля базы данных.

Спасибо.

Комментарии:

1. Имя с подчеркиванием должно быть в порядке, можете ли вы опубликовать код привязки XAML? Также попробуйте ввести <TextBlock Text=»{Binding}» /> и посмотреть, что отображается на экране, а затем опубликовать здесь как обновление

2. Можете ли вы опубликовать соответствующий код?

3. Конечно, можно сделать. Вот рабочая версия и вот нерабочая версия . Обратите внимание на изменение цвета, даже несмотря на то, что при преобразовании в jpg часть цвета была удалена. Кроме того, пока вы этим занимаетесь, если у вас есть какие-либо идеи, почему изменение строк сетки никак не влияет на внешний вид экрана, это было бы отличным бонусом.

4. вы уверены, что _userName является общедоступным?

5. Проверьте свой PropertyChanged вызов, чтобы убедиться, что это "_userName" .

Ответ №1:

При привязке к свойству, начинающемуся с подчеркивания, нет технических проблем. Я создал небольшую демонстрацию, в которой я привязываю свойство, начинающееся с подчеркивания — вы можете скачать его здесь:http://dl.dropbox.com/u/4243120/demos/Binding to Property with Underscore.zip

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

Комментарии:

1. Проблема заключалась в моей собственной глупости. Я пытался привязать имя частной переменной, а не общедоступный метод доступа. Несмотря на это, я ценю ваше время.