【发布时间】:2010-11-23 17:09:00
【问题描述】:
在此示例中,我的按钮的 IsEnabled 属性绑定到网格的选定行“本地”属性,它工作得很好:
<Button DockPanel.Dock="Bottom" Width="100" Height="100" IsEnabled="{Binding ElementName=dataGridRestore , Path=SelectedItem.Local}"></Button>
<my:DataGrid x:Name="dataGridRestore"
ItemsSource="{Binding}"
>
<my:DataGrid.ContextMenu>
<ContextMenu Name="restoreCntextMenu">
<MenuItem Header="Open" />
</ContextMenu>
</my:DataGrid.ContextMenu>
<my:DataGridCheckBoxColumn Header="Local" Binding="{Binding Local}" />
</my:DataGrid>
现在,当我将按钮从网格外部移动到网格上下文菜单内部时,我的绑定不起作用。为什么会这样,我该如何解决?
<my:DataGrid x:Name="dataGridRestore"
ItemsSource="{Binding}"
>
<my:DataGrid.ContextMenu>
<ContextMenu Name="restoreCntextMenu">
<MenuItem Header="Open" />
<Button Width="100" Height="100" IsEnabled="{Binding ElementName=dataGridRestore , Path=SelectedItem.Local}"></Button>
</ContextMenu>
</my:DataGrid.ContextMenu>
<my:DataGridCheckBoxColumn Header="Local" Binding="{Binding Local}" />
</my:DataGrid>
【问题讨论】: