Visual studio 文件名的PropertyGrid ValueEditor

Visual studio 文件名的PropertyGrid ValueEditor,visual-studio,propertygrid,vs-extensibility,Visual Studio,Propertygrid,Vs Extensibility,我有以下规则定义: <Rule ...> <... /> <StringProperty Subtype="file" ...> <StringProperty.ValueEditors> <ValueEditor EditorType="DefaultStringPropertyEditor" DisplayName="&lt;Edit...&gt;"/> <ValueEditor E

我有以下规则定义:

<Rule ...>
  <... />
  <StringProperty Subtype="file" ...>
  <StringProperty.ValueEditors>
    <ValueEditor EditorType="DefaultStringPropertyEditor" DisplayName="&lt;Edit...&gt;"/>
    <ValueEditor EditorType="DefaultFilePropertyEditor" DisplayName="&lt;Browse...&gt;"/>
  </StringProperty.ValueEditors>
  </StringProperty>
  <... />
</Rule>

它添加了用于编辑属性的“”和“”选项,但当我需要让用户选择一个*.txt文件时,浏览对话框会要求提供一个*.exe文件。对话框中有一个组合框,允许选择“所有文件”,但实际上这不是一个选项


我试图找到一个解决方案,但这个扩展性部分似乎没有很好的文档记录。

我终于找到了一种方法来做到这一点,但仅限于VS2012。现在,将名为Filters的元数据块和Filters字符串放在典型的open file对话框格式中似乎就可以了

例如:

<ValueEditor EditorType="DefaultFilePropertyEditor" DisplayName="&lt;Browse...&gt;">
  <ValueEditor.Metadata>
    <NameValuePair Name="Filters" Value="Text (*.txt)|*.txt" />
  </ValueEditor.Metadata>
</ValueEditor>

如果我明天发现这篇文章的话,我的文章发表已经整整一年了:)