Параметр команды привязки проблемы в Silverlight - PullRequest
0 голосов
/ 07 апреля 2011

Я не могу заставить это работать правильно. По сути, у меня есть ObservableCollection, которая связана со списком. Внутри этой коллекции у меня есть объект, который мне нужно использовать для передачи в качестве переменной в команду при ее выполнении. Мой план состоял в том, чтобы передать это как CommandParameter, но я не могу заставить его работать. Объект на самом деле является значением Enum, но я не могу заставить его работать ни с чем, кроме статического текста. Ниже приведен код, использующий концепцию MVVM с использованием Interactivity (wi) и dll (sl) blend. Это свойство является общедоступным в 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 голосов
/ 26 мая 2011
        <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>

Как насчет этого?Вы хотите привязать к выбранному элементу, а не?

MyList - это ваша коллекция ObservableCollection?

...