在Silverlight中发出绑定命令参数

时间:2011-04-07 03:08:15

标签: windows-phone-7 .net-4.0 silverlight-3.0

我似乎无法使其正常工作。基本上,我有一个绑定到列表的ObservableCollection。在这个集合中,我有一个对象,我需要在执行时将其作为变量传递给Command。我的计划是将其作为CommandParameter传递,但我无法让它工作。该对象实际上是一个Enum值,但除了静态文本之外我无法使用它。下面是代码,它使用了使用Interactivity(wi)和blend的dll(sl)的MVVM概念。该属性在ListItem上是公共的,并且实现了INotifyPropertyChanged。

感谢。

<ListBox ItemsSource="{Binding Path=MyList}" ScrollViewer.VerticalScrollBarVisibility="Disabled">
                    <wi:Interaction.Triggers>
                        <wi:EventTrigger EventName="SelectionChanged">
                            <sl:InvokeDataCommand  CommandParameter="{Binding MyList.ListItem.Property}" Command="{Binding Source={StaticResource Locator}, Path=MyTestPage.TestExecute}" />
                        </wi:EventTrigger>
                    </wi:Interaction.Triggers>

...

1 个答案:

答案 0 :(得分:0)

        <ListBox x:Name="listBox" ItemsSource="{Binding Path=MyList}" ScrollViewer.VerticalScrollBarVisibility="Disabled">
    <wi:Interaction.Triggers>                         
    <wi:EventTrigger EventName="SelectionChanged">
    <sl:InvokeDataCommand  CommandParameter="{Binding ElementName=listBox, Path=SelectedItem.Property}" Command="{Binding Source={StaticResource Locator}, Path=MyTestPage.TestExecute}" />
</wi:EventTrigger>
</wi:Interaction.Triggers>

这样做怎么样?你想绑定到selectedItem,而不是?

MyList是你的ObservableCollection?