在这个示例中,我有两个按钮。标题中的按钮有效,但网格中的按钮会显示下面的错误信息。WPF:数据网格按钮的命令绑定
<GroupBox DockPanel.Dock="Top" >
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<Label Content="Recent Servers" />
<CheckBox Content="Auto-Refresh" />
<Button Content="Monitor" Command="{Binding MonitorCommand, ElementName=Top}" CommandParameter="{Binding}" />
</StackPanel>
</GroupBox.Header>
<DataGrid CanUserAddRows="False" CanUserDeleteRows="False" AutoGenerateColumns="False" ItemsSource="{Binding ServerHistory}" >
<DataGrid.Columns>
<DataGridTextColumn Header="Machine Name" Binding="{Binding DataPoints[ServerName], Mode=OneWay}" />
<DataGridTextColumn Header="Last Heartbeat" Binding="{Binding DataPoints[LastHeartbeat], Mode=OneWay}"/>
<DataGridTemplateColumn Header="Monitor">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Monitor" Command="{Binding MonitorCommand, ElementName=Top}" CommandParameter="{Binding}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</GroupBox>
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=Top'. BindingExpression:Path=MonitorCommand; DataItem=null; target element is 'Button' (Name=''); target property is 'Command' (type 'ICommand')
[绑定到数据网格中的命令]可能的重复(http://stackoverflow.com/questions/581715/binding-to-a-command-in-a-datagrid) – 2010-07-28 03:07:42
不知道它是否有帮助,但我发现这个: http://stackoverflow.com/questions/581715/binding-to-a-command-in-a-datagrid – user695663 2012-06-21 22:12:13