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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с DependencyPropery в WPF, Не вызываются Callback функции  
V
    Опции темы
Anyone
Дата 30.7.2009, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Никак не могу разобраться как использовать DependencyProperty с внутренними переменными класса.
Насколько я понял, лучше всего внутренние переменные изменять (вызывать методы класса) в методе ScaleChanged, тоесть в PropertyChangedCallback (поправьте, если я не прав):
Код

static UgeDrawingCanvas()
{
FrameworkPropertyMetadata metadataScale 
  = new FrameworkPropertyMetadata(1.0, 
  FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, 
  new PropertyChangedCallback(ScaleChanged), 
  new CoerceValueCallback(ScaleCoerce));            

ScaleProperty = DependencyProperty.Register("Scale", typeof (double), typeof (UGEDrawingCanvas), metadataScale, new ValidateValueCallback(isScaleValid));
}
 
private static object ScaleCoerce(DependencyObject d, object baseValue)       
{            
             return baseValue;        
}        

private static void ScaleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)        
{
            var canvas = d as UgeDrawingCanvas;
            if (canvas != null)
            {
                canvas.DefineRenderTransform();
            }
}

private void DefineRenderTransform()
 {
            _translateTransform=new TranslateTransform(Scale,Scale); 
 }

 private TranslateTransform _translateTransform;

Но дело в том, что ни ScaleCoerce, ни ScaleChanged не вызываются!

В чем может быть проблема?


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


 




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


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

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