使用WPF&;C#,如何将上传的文件显示为超链接,每个文件都有一个删除按钮
本文关键字:文件 超链接 显示 按钮 删除 有一个 amp WPF 使用 | 更新日期: 2023-09-27 18:27:00
使用WPF&C#,如何将上传的文件显示为超链接,为每个文件提供一个删除按钮,这样我们就可以在不需要的情况下一次删除一个文件。我可以在文本框中将文件显示为纯文本。如何继续。有人能帮我吗。??
您需要枚举文件,所以从IEnumerable<string> System.IO.Directory.EnumerateFiles(string path)
开始。
当然,这需要向视图公开,以便您可以为每个项目创建UI。这是作为一个列表完成的
<ListBox ItemsSource="{Binding ListOfFiles}">
<ListBox.ItemTemplate>
<DataTemplate>
要创建超链接,只需在文本块(如)中使用超链接
<TextBlock>
<Hyperlink Command="{Binding DeleteCommand}" CommandParameter="{Binding}" Text="{Binding}" />
</TextBlock>
您会注意到,我正在绑定到一个DeleteCommand,该命令希望向它传递一个pararmeter,该参数与链接中显示的文本相同。我会选择这个,而不是尝试使用Clicked
,因为你得到了文件名。
如何实现Command
取决于您,以及在您想要使用的MVVM框架中是否有默认的Command实现。如果你没有使用,那么你可以使用Josh Smith的MVVM文章中的RelayCommand
RelayCommand _deleteCommand;
public ICommand DeleteCommand
{
get
{
if (_deleteCommand == null)
{
_deleteCommand = new RelayCommand(
param => this.Delete(param),
param => this.CanDelete(param));
}
return _deleteCommand;
}
}
然后,您只需要为直接映射到System.IO.File.Exists(filename)
的bool CanDelete(sting filename)
和映射到System.IO.File.Delete(filename)
的void Delete(string filename)
提供实现。