使用Silverlight 4中的行为和动画以及MVVM模式

时间:2010-08-18 09:35:38

标签: silverlight mvvm

我已经看到了一些使用行为触发Silverlight动画的很好的例子。通过简单地将行为拖动到屏幕上的控件上,使用Expression Blend似乎非常容易。但是,如果我的控件实际上不在屏幕上,那该怎么办呢,因为我使用的是一个绑定到MVVM模式中的ViewModel的Listbox。在将事物添加到ViewModel中的集合时,将在运行时创建列表框项。那么我如何将行为附加到那些动态加载的列表框项?

1 个答案:

答案 0 :(得分:1)

这是MVVM的伟大之处。您可以使用DesignTime数据填充ViewModel的属性:

示例下面提供了一个字符串列表的viewmodel上的属性,在设计时它提供了3个项目的列表:

    List<string> _myItems;
    public List<string> MyItems
    {
        get
        {
            if (DesignerProperties.IsInDesignTool)
                return new List<string>() { "item1", "item2", "item3" }; 
            return _myItems;
        }
        set
        {
            _myItems = value;
            NotifyPropertyChanged("MyItems");
        }
    }