Ale*_*oto 5 windows-phone-7 caliburn.micro listpicker
我在WP7上有以下XAML代码:
<toolkit:ListPicker x:Name="ListPickerBwFactors" ItemsSource="{Binding BwFactors}"
cal:Message.Attach="[Event SelectionChanged]=[Action ChangeBinarizeFactor(ListPickerBwFactors.ItemSelected)]">
</toolkit:ListPicker>
Run Code Online (Sandbox Code Playgroud)
我收到错误:Target必须是FrameworkElement或CollectionViewSource
我想要做的就是从ListPicker传递给我的VM,SelectedItem.我究竟做错了什么 ?
WP7 上的 Silverlight 当前版本基于 Silverlight 3,主要限制之一是您只能绑定到 FrameworkElement 或 CollectionViewSource 上的依赖属性(而不是 WPF 中的 DependencyObject)。
您看到这段代码出现错误的原因是,Message.Attach 附加的依赖属性在幕后使用了 Behaviours(特别是 ActionMessage),它们不是 FrameworkElements。
Caliburn 正在尝试设置从 ListPickerBwFactors.ItemSelected 到 ActionMessage 参数的绑定,但失败。这基本上意味着 Caliburn 中的参数目前没有多大用处。您需要将 SelectedItem 绑定到 ViewModel 上的属性。
好的一面是,WP7 的“Mango”版本会将手机上的 Silverlight 更新到 4,解决了这个问题。
| 归档时间: |
|
| 查看次数: |
683 次 |
| 最近记录: |