访问 Visual Studio 属性属性网格中的项目文件结构?
我正在制作一个将在 VS 拖放设计器中使用的组件。 该组件的属性之一必须是项目内文件的包 URI。
我想让事情变得简单一些,在 PropertyGrid 用于我的类型属性的属性编辑器中,检查解决方案、构造 Uris 并将它们呈现给用户进行选择。
这可能吗? 如果是这样,我可以获得一些关于如何解决这个问题的指导和入门指南吗?
I'm making a Component that will be used in a VS drag and drop designer. One of the properties on this component needs to be the pack URI of a file within the project.
I'd like to make things a little easy and, from within the property editor the PropertyGrid uses for my type's property, examine the solution, construct the Uris and present them to the user for choosing.
Is this possible? And, if so, can I get some pointers and where-to-starters on how to go about this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个仅适用于 WPF 项目的组件吗? 那么你可能很幸运。 这里写一下。 http://www.wiredprairie.us/journal/2007/06/pack_syntax_in_wpf。 html。 或者此 MSDN 示例可能会有所帮助 http://msdn.microsoft .com/en-us/library/aa972152(VS.85).aspx
Is this a component that is for WPF projects only? Then you may be in luck. Here's a write up. http://www.wiredprairie.us/journal/2007/06/pack_syntax_in_wpf.html. Or this MSDN sample may help http://msdn.microsoft.com/en-us/library/aa972152(VS.85).aspx
我认为这有几个方面。
1) 您可以为属性创建自己的类型编辑器,以决定如何使用属性网格向用户呈现属性值。
为此,您需要创建一个继承自 UITypeEditor 的类型编辑器,如下所示。
看一下这篇 codeproject 文章,了解一个简单的示例。 http://www.codeproject.com/KB/edit/flagenumeditor.aspx
现在,提供属性的 EditorType 属性,例如
2) 要迭代项目中的解决方案,获取当前的 DTE 实例
并迭代所有项目以构建列表或 URI 或任何内容。 理想情况下,您可以在上述 UriListUIEditor 的 EditValue 方法中执行此操作。
希望这可以帮助
I think there are a couple of peices to this.
1) You can create your own type editors for a property, to decide how the property values are presented to the users using the property grid.
For this, you need to create a type editor, inheriting from UITypeEditor, like this.
Have a look at this codeproject article to see a simple example. http://www.codeproject.com/KB/edit/flagenumeditor.aspx
Now, provide the EditorType attribute of your property, like
2) To iterate solutions in your project, get the current DTE Instance
And Iterate through all the projects to build the list or URIs or anything. Ideally you do this inside the EditValue method of the above UriListUIEditor.
Hope this helps