![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| tavla |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
нужно название кнопки подгружать динамически в зависимости от обстоятельств,
соответственно кидаю на форму button, в C# прописываю поле с хранимым значением
и привязываю его к content'ом кнопки:
при этом никакого названия на кнопке не появляется. объясните пожалуйста, где я накосячил? Это сообщение отредактировал(а) tavla - 17.7.2010, 00:06 |
||||
|
|||||
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 5 Всего: 42 |
А DataContext присвоил?
|
|||
|
||||
| tavla |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
не присваивал, string btnName расположен в классе window1, он вроде по умолчанию там ищет.
к тому же, на что делать источник - на класс window1 или на string btnName, и можно ли указать в качестве источника просто string? вот полностью исходный код: window1.xaml
window1.xaml.cs
|
||||
|
|||||
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 5 Всего: 42 |
Слушай, я так никогда не делал конечно, всегда дата сорс был отдельным объектом. Но попробуй зарегистрировать dependency property и заводи значения через нее.
|
|||
|
||||
| tavla |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
нашел обсуждение подобной проблеммы здесь, попытался воспроизвести и ничего не работает.
window1.xaml
window1.xaml.cs
и vs2008 и vs2010 не могут обратиться к кнопке из window1.xaml.cs по ее имени TheButton, т.е. нет обратной связи, хотя x:Name объявлен. в то же время обработчик нажатия кнопки, описанный в window1.xaml.cs, работал. что не так? |
||||
|
|||||
| fvoice |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 28.4.2009 Репутация: нет Всего: нет |
копайте в сторону INotifyPropertyChanged, вот пример:
Это сообщение отредактировал(а) fvoice - 19.7.2010, 12:29 |
||||
|
|||||
| tavla |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
действительно получилось сделать через DataContext и с помощью INotifyPropertyChanged добавить реакцию на изменение прибиндинного поля.
но возникло еще несколько вопросов: 1. допустим, у меня есть три класса, в одном из которых я создаю объекты двух других. к DataContext можно подключить любой вложенный объект класса (DataContext = Cl3.Cl2) и затем свободно обращаться к полям этого вложенного класса, но как добраться до его полей, если подключить только верхний класс (DataContext = Cl3), а затем обращаться к полям вложенных классов как это делается в обычном коде ({binding Path=Cl3.Cl1.str1}, {binding Path=Cl3.Cl2.str2}).
2. как объект моего класса прописать ресурсом в xaml-коде. пример описанный здесь мне воссоздать не удалось - два экземпляра класса подключаются в качестве StaticResource. Это сообщение отредактировал(а) tavla - 22.7.2010, 21:13 |
|||
|
||||
| Kefir |
|
||||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 22 Всего: 87 |
1. В обоих случаях будет работать и получать значение str2. Я так понял, что приведенный код неполон, так что не берусь судить где у вас ошибка.
2. В корневом элементе (<Window> / <UserControl>) прописывается локальный неймспейс:
Теперь в ресурсах можно создать класс MyWpfApplication.SomeClass следующим образом:
Напоследок - пожалуйста при возникновении очередного вопроса - создайте новую тему, а не продолжайте спрашивать в одной и той же. |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |