WPF 菜单事件绑定 DataTemplate下button Command事件绑定 DataTemplate遍历实体数据

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 菜单事件绑定 DataTemplate下button Command事件绑定 DataTemplate遍历实体数据相关的知识,希望对你有一定的参考价值。

原文:WPF 菜单事件绑定 DataTemplate下button Command事件绑定 DataTemplate遍历实体数据

一、菜单编写

不要使用listbox,listbox只有selectchanged事件,没有点击事件,会导致,点相同菜单没有触发事件的情况

1、引用部分增加“Name="frmWorkstation" ”

技术图片

2、绑定command时候,必须写成<Button Command="{Binding DataContext.AddTabItemCommand,ElementName=frmWorkstation}" CommandParameter="{Binding Param}",否则ItemTemplate的DataContext指代不明,需要改为父类的DataContext。

技术图片

  1. <ItemsControl ItemsSource="{Binding MenuList}">
  2. <ItemsControl.ItemTemplate>
  3. <DataTemplate>
  4. <Button Command="{Binding DataContext.AddTabItemCommand,ElementName=frmWorkstation}" CommandParameter="{Binding Param}" Padding="0" BorderThickness="0" Width="168" Height="35" HorizontalContentAlignment="Left" Background="Transparent" Cursor="Hand">
  5. <DockPanel >
  6. <Image Width="16" Height="16" Source="{Binding Icons}"/>
  7. <TextBlock Margin="6,0,0,0" Text="{Binding Title}"/>
  8. </DockPanel>
  9. </Button>
  10. </DataTemplate>
  11. </ItemsControl.ItemTemplate>
  12. </ItemsControl>

 

以上是关于WPF 菜单事件绑定 DataTemplate下button Command事件绑定 DataTemplate遍历实体数据的主要内容,如果未能解决你的问题,请参考以下文章

将 WPF 按钮 CommandParameter 绑定到 DataTemplate 中的按钮本身

来自 DataTemplate 的 WPF 数据绑定 - 多对多关系

WPF DataTemplate ComboBox 绑定问题

WPF 在 GridViewColumn.CellTemplate 的 DataTemplate 中绑定 UserControl 属性

如何使 WPF DataGrid 显示具有绑定和 DataTemplate 的 ViewModel 集合

DataTemplate WPF 中样式设置器中的绑定