RadTreeViewItem、MVVM 和 Click 事件

发布于 2024-11-09 11:44:32 字数 1637 浏览 2 评论 0原文

我无法在 ViewModel 中的 RadTreeViewItem 上触发单击事件或鼠标按下事件。我应该使用什么语法?这是下面的相关 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> 

I'm having trouble getting a click event or mouse down event to fire on a RadTreeViewItem in the ViewModel. What syntax should I be using? This is the relevant XAML below:

            <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> 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灵芸 2024-11-16 11:44:32

据我所知,绑定 RadTreeViewItem 的事件必须在代码隐藏中完成;当创建 RadTreeViewItem 并且可以在处理程序中设置绑定时,会触发 RadTreeView 的 ItemPrepared 事件。更多信息请参见:

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

As far as I can tell, binding the events of the RadTreeViewItem has to be done in code-behind; the ItemPrepared event of RadTreeView is fired when a RadTreeViewItem is created and bindings can be set in a handler. More information here:

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

流心雨 2024-11-16 11:44:32

不要为要指挥的事件而烦恼。您可以直接在 RadTreeViewItem 上设置命令。

Don't bother with the event to command. You can set a command on the RadTreeViewItem directly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文