1

我有以下规则定义:

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

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

我试图找到一个解决方案,但这个可扩展性位似乎没有得到很好的记录。

4

1 回答 1

0

我终于找到了一种方法,但仅适用于 VS2012。以典型的打开文件对话框格式放置一个名为 Filters 的元数据片段和过滤器字符串似乎现在可以解决问题。

例子:

<ValueEditor EditorType="DefaultFilePropertyEditor" DisplayName="&lt;Browse...&gt;">
  <ValueEditor.Metadata>
    <NameValuePair Name="Filters" Value="Text (*.txt)|*.txt" />
  </ValueEditor.Metadata>
</ValueEditor>
于 2013-09-12T13:46:32.090 回答