#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. Проблема заключалась в моей собственной глупости. Я пытался привязать имя частной переменной, а не общедоступный метод доступа. Несмотря на это, я ценю ваше время.