Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Эксперименты с привязкой потерпели крах 
:(
    Опции темы
Alfmaster
Дата 30.7.2009, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



Читаю книгу по WPF и решил поэкспериментировать с привязкой
В классе Window1 написал так:
Код

public static DependencyProperty some_int;
       
        static Window1()
        {
            some_int=DependencyProperty.Register("exp_int", typeof(int), typeof(Window1),new FrameworkPropertyMetadata(10, FrameworkPropertyMetadataOptions.AffectsRender));
            
public int ExpInt
        {
            get { return (int)GetValue(some_int); }
            set { SetValue(some_int, value); }
        }
        }


В XAML написал так:

Код

<Button Style="{StaticResource SideBtnStyle}" >
                <Button.Content>
                    <Binding ElementName="Window1" Path="ExpInt"/>
                        
                </Button.Content>
            </Button>


Но значение моего проперти не привязывается к значению кнопки!

В чем проблема?

Это сообщение отредактировал(а) Alfmaster - 30.7.2009, 21:46
PM MAIL   Вверх
rooks
Дата 31.7.2009, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 28.9.2008
Где: Минск

Репутация: 5
Всего: 9



Проблема в том что свойство зарегистрировано под именем exp_int, а обращаетесь вы к нему по имени ExpInt. так должно работать:
Код
some_int=DependencyProperty.Register("ExpInt", ...);
А вообще лучше сниппетами пользоваться, благо в студии они есть по умолчанию.
PM MAIL ICQ   Вверх
Alfmaster
Дата 1.8.2009, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



Что-то не помогло...
PM MAIL   Вверх
rooks
Дата 1.8.2009, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 28.9.2008
Где: Минск

Репутация: 5
Всего: 9



у меня работает, правда написано вот так: 
Код
<Button Content="{Binding ElementName=Window1, Path=ExpInt}" />

PM MAIL ICQ   Вверх
Alfmaster
Дата 1.8.2009, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 20.9.2008

Репутация: нет
Всего: нет



странно...
PM MAIL   Вверх
neiron
Дата 3.8.2009, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 18.4.2006
Где: Краснодар

Репутация: нет
Всего: 4



Дабы не путаться, ms предлагает соглашение об именовании, когда сам DependencyProperty имеет вид FooProperty, а непосредственно свойство Foo.
Тогда всё это будет выглядеть как:

Код

public static DependencyProperty FooProperty;
       
        static Window1()
        {
            FooProperty=DependencyProperty.Register("Foo", typeof(int), typeof(Window1),new FrameworkPropertyMetadata(10, FrameworkPropertyMetadataOptions.AffectsRender));
            
public int Foo
        {
            get { return (int)GetValue(FooProperty); }
            set { SetValue(FooProperty, value); }
        }
        }

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0754 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.