c:\Users\Administrator\AppData\Local\Temp\CSSCRIPT\dynamic\14224.bd05930c-1659-410b-a1dd-d43652b5db3a.tmp(35,24): error CS1002: 应输入 ;
c:\Users\Administrator\AppData\Local\Temp\CSSCRIPT\dynamic\14224.bd05930c-1659-410b-a1dd-d43652b5db3a.tmp(35,53): error CS1519: 类、结构或接口成员声明中的标记“(”无效
c:\Users\Administrator\AppData\Local\Temp\CSSCRIPT\dynamic\14224.bd05930c-1659-410b-a1dd-d43652b5db3a.tmp(35,58): error CS1519: 类、结构或接口成员声明中的标记“)”无效
(----自定义窗口:自定义窗口----)
使用自定义窗口助手,错误始终修复不了,大佬是哪里的问题
数据映射
FileList:{file_paths}
窗口XAML代码
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:qk="https://getquicker.net"
Width="400" Height="200"
Title="文件浏览器">
<ListView Name="ListViewFiles"
ItemsSource="{Binding [FileList]}"
SelectionMode="Extended">
<ListView.View>
<GridView>
<GridViewColumn Header="缩略图" Width="120">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Path}"
Width="100"
Height="60"
Stretch="UniformToFill">
<Image.ToolTip>
<ToolTip>
<Image Source="{Binding Path}"
Width="300"
Stretch="Uniform"/>
</ToolTip>
</Image.ToolTip>
</Image>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="文件名"
DisplayMemberBinding="{Binding Name}"
Width="260"/>
</GridView>
</ListView.View>
</ListView>
</Window>
辅助C#代码
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Collections.Generic;
using System.Linq;
using Quicker.Public;
public static void OnWindowCreated(Window win, IDictionary<string, object> dataContext, ICustomWindowContext winContext)
{
dataContext["FileList"] = new List<FileItem>();
}
public static void OnWindowLoaded(Window win, IDictionary<string, object> dataContext, ICustomWindowContext winContext)
{
var listView = (ListView)win.FindName("ListViewFiles");
// 拖拽事件处理(关键修正点)
listView.PreviewMouseMove += (sender, e) =>
{
if (e.LeftButton == MouseButtonState.Pressed && listView.SelectedItems.Count > 0)
{
var items = listView.SelectedItems.Cast<FileItem>().Select(f => f.Path).ToArray();
DragDrop.DoDragDrop(listView, new DataObject(DataFormats.FileDrop, items), DragDropEffects.Copy);
}
}; //← 分号补充
}
public class FileItem
{
public string Path { get; set; }
public string Name => System.IO.Path.GetFileName(Path);
}