Twe*_*lve 7 wpf binding focusmanager
我有几个datagrids的应用程序并导出到excel命令,它将聚焦数据网格作为命令参数.是否可以将CommandParameter绑定到FocusManager.FocusedElement,还是必须将它们设置为明确?
提前致谢
是的,您可以绑定到FocusedElement.就像是:
<Button ...
CommandParameter="{Binding (FocusManager.FocusedElement), RelativeSource={RelativeSource AncestorType={x:Type Window}}}" />
Run Code Online (Sandbox Code Playgroud)
根据您的焦点范围,您可能需要将Window更改为另一个元素.
但就个人而言,我设置了命令的处理程序以查看参数是否为null.如果是,那么我将以编程方式获得FocusManager.FocusedElement.
var element = parameter as DataGrid;
if (element == null)
element = FocusManager.FocusedElement as DataGrid.
Run Code Online (Sandbox Code Playgroud)
您还可以根据需要搜索可视树以获取关联的DataGrid.