使用自定义窗口助手,错误始终修复不了

使用问题 · 63 次浏览
哪吒2 创建于 15天6小时前

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);
}


回复内容
H-D-G 15天6小时前
#1

FileItem.Name的箭头表达式,qk不支持这个语法糖

回复主贴