RadTreeViewItem, MVVM и события щелчка

#silverlight #mvvm #telerik #eventtrigger #rad-controls

#silverlight #mvvm #telerik #eventtrigger #rad-элементы управления

Вопрос:

У меня возникли проблемы с запуском события щелчка или наведения курсора мыши на RadTreeViewItem в ViewModel. Какой синтаксис я должен использовать? Это соответствующий XAML ниже:

             <Toolkit:AccordionItem x:Name="Accordion1" Header="{Binding Header, Mode=TwoWay}" Width="200">
            <ListBox x:Name="SitesList" Width="195" BorderThickness="0" ItemsSource="{Binding Games, Mode=OneWay}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}">

                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <telerik:RadTreeView IsDragDropEnabled="True" IsSingleExpandPath="True"  
                                             telerikDragDrop:RadDragAndDropManager.AllowDrag="True" PreviewDragEnded="RadTreeView_PreviewDragEnded"
                                             IsDragTooltipEnabled="False">
                            <telerik:RadTreeViewItem Header="{Binding siteName, Mode=TwoWay}" Tag="{Binding siteKey, Mode=TwoWay}">
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="Click">
                                        <cmd:EventToCommand Command="{Binding RadTreeItemClickCommand, Mode=TwoWay}" MustToggleIsEnabledValue="True"/>
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                            </telerik:RadTreeViewItem>
                        </telerik:RadTreeView>
                    </DataTemplate>

                </ListBox.ItemTemplate>

            </ListBox>
        </Toolkit:AccordionItem> 
  

Ответ №1:

Насколько я могу судить, привязка событий RadTreeViewItem должна выполняться в коде; событие ItemPrepared RadTreeView запускается при создании RadTreeViewItem, и привязки могут быть установлены в обработчике. Дополнительная информация здесь:

http://www.telerik.com/help/silverlight/radtreeview-events-working-with-item-prepared-event.html

Ответ №2:

Не беспокойтесь о событии для команды. Вы можете задать команду непосредственно для RadTreeViewItem.