【发布时间】:2017-01-05 17:34:35
【问题描述】:
我正在尝试在选择WPF控件时访问属性窗口所显示的属性。
问题在于,虽然我设法在属性窗口中添加了自己的内容,但我还没有找到一种方法来获取对 WPF 设计器用来显示控件属性的引用的引用。
private IVsWindowFrame _frame;
...
if(_frame == null) {
var shell = parent.GetVsService(typeof(SVsUIShell)) as IVsUIShell;
if(shell != null) {
var guidPropertyBrowser = new Guid(ToolWindowGuids.PropertyBrowser);
shell.FindToolWindow(
(uint) __VSFINDTOOLWIN.FTW_fFindFirst, ref guidPropertyBrowser, out _frame
);
}
}
如您所见,我已经引用了属性窗口,但不幸的是,我不知道如何列出属性。
如果它是相关的,我尝试这样做的原因是因为我想删除(或隐藏)为设计器中的 WPF 控件显示的一些属性。
【问题讨论】:
-
您正在使用的函数正在返回一个 ToolWindowPane。有了这个对象,你也许可以做更多的事情
-
但是,如果您提供更多源代码会更容易。在当前状态下,要让代码正常工作并不容易。
-
@ArthurM 如果我知道什么有用的话,我很乐意发布更多代码,不幸的是,我只是在学习 here 的教程,它向我展示了如何创建自定义工具窗口,但是对如何获得对现有参考的参考几乎没有提供任何见解。
-
标准方法是使用 IVsMonitorSelection:GetCurrentSelection,但在使用自定义 WPF 属性浏览器中显示的对象时,它会为 IVsMultiItemSelect 参数返回 null...
标签: c# .net wpf visual-studio vsix