原文:
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。

- <ItemsControl ItemsSource= "{Binding MenuList}">
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Button Command= "{Binding DataContext.AddTabItemCommand,ElementName=frmWorkstation}" CommandParameter= "{Binding Param}" Padding= "0" BorderThickness= "0" Width= "168" Height= "35" HorizontalContentAlignment= "Left" Background= "Transparent" Cursor= "Hand">
-
- <DockPanel >
- <Image Width= "16" Height= "16" Source= "{Binding Icons}"/>
- <TextBlock Margin= "6,0,0,0" Text= "{Binding Title}"/>
- </DockPanel>
- </Button>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>