您现在的位置是:首页 > 综合聚焦 > 服务器 > Windows > Windows

windows-phone-7 – Caliburn.Micro中的ListPicker Message.Atta

编辑:站长来源:网络整理作者: 未知2020-12-14Windows

简介我在WP7上有以下XAML代码: toolkit:ListPicker x:Name="ListPickerBwFactors" ItemsSource="{Binding BwFactors}" cal:Message.Attach="[Event SelectionChanged]=[Action ChangeBinarizeFactor(ListPickerBwFactors.ItemSelected)]"/toolkit:ListPicker 我

我在WP7上有以下XAML代码:

<toolkit:ListPicker x:Name="ListPickerBwFactors" ItemsSource="{Binding BwFactors}" 
                            cal:Message.Attach="[Event SelectionChanged]=[Action ChangeBinarizeFactor(ListPickerBwFactors.ItemSelected)]">
</toolkit:ListPicker>

我收到错误:Target必须是FrameworkElement或CollectionViewSource

我想要做的就是从ListPicker传递给我的VM,SelectedItem.
我究竟做错了什么 ?

解决方法

WP7上Silverlight的当前版本基于Silverlight 3,其中一个主要限制是您只能绑定到FrameworkElement或CollectionViewSource上的依赖项属性(而不是说WPF中的DependencyObject).

您看到这段代码的错误的原因是,幕后Message.Attach附加的依赖项属性使用了不是FrameworkElements的Behaviors(特别是ActionMessage).

Caliburn正在尝试从ListPickerBwFactors.ItemSelected设置绑定到ActionMessage的参数并失败.它基本上意味着Caliburn中的参数目前使用不多.您需要将SelectedItem绑定到ViewModel上的属性.

从好的方面来看,WP7的“芒果”版本将把手机上的Silverlight更新为4,解决了这个问题.

很赞哦! ()

点击排行

本栏推荐

猜你喜欢