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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mvvm события 
:(
    Опции темы
gambit
Дата 28.10.2010, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



добрый день. Почитал несколько статей, но этот момент так и не понял.
Расскажите пож.
Конкретно, мне сейчас надо что бы команда была подписана на событие изменения размера UserControl.
модель mvvm мою была взята с этой статьи http://megadarja.blogspot.com/2010/04/mvvm-wpf.html

Добавлено через 1 минуту и 54 секунды
во всех примерах используется пространство имен System.Windows.Interactivity который я в упор не нахожу(((
PM MAIL ICQ Skype   Вверх
rooks
Дата 28.10.2010, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Сборка System.Windows.Interactivity.dll не входит в .Net framework, она входит в состав Blend SDK:
Silverlight WPF
PM MAIL ICQ   Вверх
gambit
Дата 28.10.2010, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Тогда как иначе? Без данной библиотеки?
PM MAIL ICQ Skype   Вверх
rooks
Дата 29.10.2010, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



так они весят по 40 килобайт каждая
по другому через Attached Properties, но это искать надо
PM MAIL ICQ   Вверх
WolfTheGrey
Дата 31.10.2010, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 21.1.2009
Где: forum.vingrad.ru

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



Что то я ни чего найти не могу. Нет у меня класса: ViewModelBase. Хоть и все файлы по скачивал по ссылкам выше приводимых.
PM MAIL   Вверх
rooks
Дата 1.11.2010, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



по первой ссылке
Цитата
BookViewModel унаследован от класса ViewModelBase, который заботливо сгенерил нам MVVM Toolkit. ViewModelBase же, в свою очередь, реализует интерфейс INotifyPropertyChanged и содержит функцию OnPropertyChanged. Все это нужно для того, чтобы всегда можно было вызвать событие "изменилось такое-то поле".

пример реализации
Код
    /// <summary>
    /// Base class for all ViewModel classes in the application. It provides support for property change notifications 
    /// and has a DisplayName property.  This class is abstract.
    /// </summary>
    public abstract class ViewModelBase : INotifyPropertyChanged, IDisposable
    {
        private readonly Dispatcher _dispatcher;

        /// <summary>
        /// Returns the dispatcher object to perform operations on UI thread.
        /// </summary>
        protected Dispatcher Dispatcher
        {
            get { return _dispatcher; }
        }

        /// <summary>
        /// Returns the user-friendly name of this object. Child classes can set this property to a new value,
        /// or override it to determine the value on-demand.
        /// </summary>
        public virtual string DisplayName { get; protected set; }

        protected ViewModelBase()
        {
            if (System.Windows.Application.Current != null)
            {
                _dispatcher = System.Windows.Application.Current.Dispatcher;
            }
            else
            {
                //this is useful for unit tests where there is no application running 
                _dispatcher = Dispatcher.CurrentDispatcher;
            }
        }
        
        #region INotifyPropertyChanged Members

        /// <summary>
        /// Raised when a property on this object has a new value.
        /// </summary>
        public event PropertyChangedEventHandler PropertyChanged;

        /// <summary>
        /// Raises this object's PropertyChanged event.
        /// </summary>
        /// <param name="propertyName">The property that has a new value.</param>
        protected virtual void OnPropertyChanged(string propertyName)
        {
            VerifyPropertyName(propertyName);

            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null)
            {
                var e = new PropertyChangedEventArgs(propertyName);
                handler(this, e);
            }
        }

        #endregion // INotifyPropertyChanged Members

        #region IDisposable Members

        /// <summary>
        /// Invoked when this object is being removed from the application
        /// and will be subject to garbage collection.
        /// </summary>
        public void Dispose()
        {
            OnDispose();
        }

        /// <summary>
        /// Child classes can override this method to perform 
        /// clean-up logic, such as removing event handlers.
        /// </summary>
        protected virtual void OnDispose()
        {
        }

        #endregion // IDisposable Members
    }

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


WPF'er
*


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

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



WolfTheGrey
Есть же готовые фрейморки для MVVM, лично я использую MVVM Light Toolkit, там и шорткаты есть для ускорения работы
PM MAIL ICQ   Вверх
ДобренькийПапаша
Дата 1.11.2010, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



А где можно почитать про mvvm толковую статью и статью о связке mvvm + silverlight или mvvm + wpf? Я asp.net не владею, знаю, что есть книжки а-ля "asp.net mvvm".


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
rooks
Дата 1.11.2010, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ДобренькийПапаша,  MVVM как раз и появился как модификация MVP специально для разработки под WPF/Silverlight.
PM MAIL ICQ   Вверх
Kaerus
Дата 1.11.2010, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WPF'er
*


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

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



Цитата(ДобренькийПапаша @ 1.11.2010,  18:15)
А где можно почитать про mvvm толковую статью и статью о связке mvvm + silverlight или mvvm + wpf? Я asp.net не владею, знаю, что есть книжки а-ля "asp.net mvvm".

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


 




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


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

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