WPF 点击DataGrid中按钮无触发以及上传文件
上干货
<DataGridTemplateColumn Header="操作" Width="1*"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <Button Style="{StaticResource CcHotelButtonStyle}" Margin="2 0 2 0" Width="60" Height="30"
Command="{Binding DataContext.OprationQMUploadButtonCommand,UpdateSourceTrigger=PropertyChanged,
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}">签名</Button> <Button Style="{StaticResource CcHotelButtonStyle}" Margin="2 0 2 0" Width="60" Height="30"
Command="{Binding DataContext.OprationLookFileButtonCommand,
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}">查看</Button> </StackPanel> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn>
/// <summary> /// 签名 /// </summary> public RelayCommand<Window> OprationQMUploadButtonCommand { get; set; } /// <summary> /// 查看 /// </summary> public RelayCommand<Window> OprationLookFileButtonCommand { get; set; }
public void OprationQMUploadButton(Window win) { // MessageBox.Show("OprationQMUploadButton"); Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog(); ofd.DefaultExt = "*.png"; ofd.Filter = "图像文件(*.bmp,*.png, *.jpg) | *.bmp;*.png; *.jpg | 所有文件(*.*) | *.*"; // ofd.InitialDirectory=this.pa Nullable<bool> result = ofd.ShowDialog(); string path = string.Empty; if (result == true) { path = ofd.FileName; var citem = DataGridQmZlListData.Where(c => c.idno == id_qmzlStr).FirstOrDefault(); if (citem != null) { string fileName = System.IO.Path.GetFileName(path); using (FileStream stream = File.OpenRead(path)) { string basePath = AppDomain.CurrentDomain.BaseDirectory; string myFilePath = $"{Login.HotelCode}\\{DateTime.Now.Year}\\{DateTime.Now.Month}\\Uploads"; string fulldicPath = Path.Combine(basePath, myFilePath);//, fileName); string fullFilePath = Path.Combine(basePath, myFilePath, fileName); if (!Directory.Exists(fulldicPath)) Directory.CreateDirectory(fulldicPath); using (FileStream wstream = new FileStream(fullFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { byte[] by = new byte[1024 * 1024]; while ((stream.Read(by, 0, by.Length) > 0)) { wstream.Write(by, 0, by.Length); } citem.sign_map = fullFilePath; MessageBox.Show("上传ok!"); } } } } }
如有疑问或者错误的地方,请跟帖,本人会第一时间答复以及相互学习,谢谢!个人会不断的上传自己的学习心得!
好了今天就先到这里,下次有时间再更新,如果存在不合理的地方,欢迎大家多多指教留言!!!
分类:
WPF
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具