【问题标题】:Display only filenames of files in folder in ComboBox仅显示 ComboBox 文件夹中文件的文件名
【发布时间】:2015-11-09 15:12:58
【问题描述】:

我有一个组合框,我想在其中显示某个文件夹中的文件名。

<ComboBox ItemsSource="{Binding Path=Jobs}" DisplayMemberPath="Name"/>

绑定属性JobsList&lt;FileInfo&gt; 类型,我认为这是最适合存储此类信息的类型。一个简单的Directory.GetFiles 从给定目录中的一个数组中获取所有文件,LINQ-魔法转换为List&lt;FileInfo&gt;

默认情况下,ComboBox 现在会显示文件的完整路径。使用DisplayMemberPath="Name" 参数,我得到ComboBox 以仅显示文件名和扩展名。

我需要做什么才能让ComboBox 只显示像Path.GetFileNameWithoutExtension() 这样的文件名会给我?

我想避免将Jobs 更改为List&lt;Tuple&lt;string,string&gt;&gt; 或类似的东西以将文件名和文件夹存储在不同的变量中。

【问题讨论】:

  • 要么使用IValueConverter,要么将列表项更改为具有附加属性的自定义对象

标签: c# wpf mvvm data-binding combobox


【解决方案1】:

如果它是关于视觉要求并且您不想更改您的项目来源使用converter,您可以根据需要格式化您的名称

【讨论】:

  • 谢谢。转换器正是我要找的东西!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
  • 2016-08-06
  • 1970-01-01
相关资源
最近更新 更多