2010-08-18 53 views
1

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

回答

1

这是MVVM的伟大之处。您可以使用设计时数据填写您的视图模型的属性:

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"); 
     } 
    } 
+0

感谢:下面提供的字符串,并在设计时列表它提供了3个项目的列表上的视图模型的属性

例你的回复。这是否意味着我可以将行为附加到这些设计时项目,并且这些相同的行为也会附加到运行时项目上? – 2010-08-18 09:56:57

+0

是的,因为您将行为添加到ListBox或ListBoxItem,但从未添加到ListBoxItem的特定实例 – 2010-08-18 10:01:10

+0

太棒了!再次感谢。 – 2010-08-18 10:06:11

相关问题