【问题标题】:Using type FileInfo in WPF XAML在 WPF XAML 中使用类型 FileInfo
【发布时间】:2017-03-06 07:14:57
【问题描述】:

我想在 WPF XAML 中为 DataTemplate 使用 FileInfo。

<DataTemplate DataType="{x:Type FileInfo}">
  <TextBlock Text="{Binding Path=Name}" ToolTip="{Binding Path=FullName}" />
</DataTemplate>

问题是

Windows Presentation Foundation (WPF) 项目不支持 FileInfo。

我尝试使用命名空间别名 xmlns:io= 并找到一些 System.IO 条目,但它们都没有提供类型 FileInfo。例如:

xmlns:io="clr-namespace:System.IO;assembly=WindowsBase"

所以问题是:是否有可能以及如何做到?

【问题讨论】:

  • 一个简单的方法是 FileInfoViewModel 包装 FileInfo 并公开其属性。
  • 消息“在 ... (WPF) 项目中不支持...”与 XAML 中的某些标记有关。看起来某处有&lt;io:FileInfo&gt; 标签。数据模板允许为任何类型定义模板。请检查您的标记或在此处发布。

标签: c# wpf xaml


【解决方案1】:

错误的组装? FileInfo属于mscorlib

xmlns:io="clr-namespace:System.IO;assembly=mscorlib"
<DataTemplate DataType="{x:Type io:FileInfo}">
    <TextBlock Text="{Binding Path=Name}" ToolTip="{Binding Path=FullName}" />
</DataTemplate>
  • 我的项目类型是 WPF 应用程序

【讨论】:

  • 注意:当Visual Studio的输入手势中没有显示DirectoryInfo和FileInfo时,不要混淆,类型是存在的,你可以按预期使用类型。
猜你喜欢
  • 2022-12-23
  • 2013-01-10
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 2011-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多