Tag: wpf

线程传递数据和窗口closures

我创build了一个简单的WPF项目,在button单击我创build一个单独的线程与新窗口,并将数据传递给它。 在应用程序退出时,我试图closures该线程/窗口。 但是,偶尔会遇到以下exception,这会导致应用程序不稳定。 所以我的问题是如何妥善处理这种情况。 谢谢 在线: Dispatcher.Invoke(new Action(() => 我有 A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll Additional information: Thread was being aborted. 我的视图有以下代码: 构造函数 public MyView(ConcurrentQueue<MyItem> actionReports, ManualResetEvent actionCompletedEvent, string actionName) { _actionReports = actionReports; _actionCompletedEvent = actionCompletedEvent; _actionName = actionName; InitializeComponent(); DataContext = this; this.Loaded += MyView_Loaded; } void MyView_Loaded(object […]

如何在TextBlock和ProgressBar中显示进度?

我想显示我的Excel阅读程序的进度。 这里有一些代码: public void ReadExcel() { //Do something (get Excel File…) txtProgress.Text += "Start"; int rows = exRng.Rows.Count; int column = exRng.Columns.Count; progProgress.Maximum = rows;//ProgressBar txtProgress.Text += "Start";//TextBlock for (int i = 1; i <= rows; i++) { progProgress.Value = i; //Do something txtProgress.Text += "\n " + Name + " was created"; } } […]

如何在DataGrid中获得类似Excel的行为?

我在我的WPF应用程序中使用codeplex中的DataGrid。 我已经定义了一些DatagridTemplateColumns 。 数据素材模板可以包含一个TextBox或一个ComboBox,具体取决于ViewModel中的数据。 用户可以使用箭头键遍历网格元素。 而当用户按下input,它进入下一行。 这些行为是好的。 当用户通过使用箭头键和某些字符(如a,b,c等)的Tab,Enter等之外来到特定单元格时,问题出现了。我希望TextBox或ComboBox接收焦点并进入编辑模式自动。 我已经在DataGridCell样式中设置了IsTabStop false。 所以当我从一个单元格按Tab键时,它会自动进入下一个单元格的TextBox或ComboBox。 但是同样的方向键不会发生! 我不知道该怎么做?

如何在Excel操作窗格中使用WPF控件?

有几个资源解释如何将WinForms控件添加到Excel。 看到这两个: http://msdn.microsoft.com/en-us/library/vstudio/e3zbk0hz%28v=vs.100%29.aspx http://www.clear-lines.com/blog/post/create-excel-2007-vsto-add-in-wpf-control.aspx 他们都提到使用WPF控件 (我需要的那个)的更新选项。 不幸的是,这两种资源都缺乏基本的部分。 有一个缺失的链接: (1)微软网站提到了一些video – 确切的标题符合我的要求 – 但是看起来,该网站中的所有video都已被删除。 (2)Clear-Line站点包含一个优秀的分步项目,但是当提到关键部分时,作者使用VS中不存在的一些工具(工具箱的“WPF互操作性”部分) -2010+ 基于上面的截图和其他网站,我得出的结论是缺less的环节,我的WPF UserControl和它在Excel中的外观之间的连接是一些ElementHost 。 @HighCore的附录。 请参阅下面的工具箱:

将WPF DataGrid导出到Excel

当我将DataGrid导出到Excel时,为什么我的值会更改 string351732051316944变成3,51732E + 14 和我的date时间:2014-01-01 02:09:29.942变成41641,09035 我该如何让它停止? 我使用ExportToExcel的类 public class ExportToExcel<T> { public List<T> dataToPrint; // Excel object references. private Microsoft.Office.Interop.Excel.Application excelApp = null; private Workbooks books = null; private Workbook book = null; private Sheets sheets = null; private Worksheet sheet = null; private Range range = null; private Font font = null; // […]

C#excelclosures过程还剩下

我打开并closures了这样的mC#excel书 Microsoft.Office.Interop.Excel.Application oXL = null; Microsoft.Office.Interop.Excel.Workbook excelWorkbook = null; try { excelWorkbook = oXL.Workbooks.Open(MyFile, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false); ….. …. …. excelWorkbook.Save(); excelWorkbook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Type.Missing, Type.Missing); oXL.Quit(); excelWorkbook = null; oXL = null; } catch { } 但是在任务列表中还有stil lan EXCEL.EXE进程运行,为什么呢? 当我完成后,我怎样“杀”一切有关excel的东西? 用“.Quit()”是不够的,并把引用放在null? 或者有没有被解除引用的C#堆中留下了一些神奇的引用? /斯特凡

使用C#运行Excel工作表的VBAmacros

是否有可能编写一个WPF C#应用程序,可以从一个单独的文本文件中加载和读取VBAmacros,打开现有的Excel工作簿,并处理VBAmacros? 我不是试图将VBA转换为C#或从C#生成VBA。 应用程序,VBAmacros文本文件(VBA被提取并分别保存在文本文件中)和Excel全部由不同的人分别写入/生成。 应用程序加载并读取包含VBA的文本文件,然后打开一个现有的excel文件,并通过将macros注入到excel甚至更好的方式运行macros,将工作簿中没有macros。 我不知道如何或从哪里开始,或者甚至可能。 我发现的壁橱是使用.net注入vbamacros代码到Excel中,但似乎没有帮助。 我正在寻找任何build议让我开始,我会在这里分享和更新我的进展。

将WPF用户控件插入VSTO色带中

我使用VS 2010和现有的WPF用户控件开发Excel 2007加载项。 借助ElementHost,很容易将控件集成到任务窗格和窗口中,但是我发现无法将它们集成到function区中。 与function区devise器结合使用的工具箱不包含ElementHost,也无法使用WinForms用户控件间接插入它。 有没有另外一种方法来集成WPF用户控件的function区?

c#wpf导入excel性能

我正在导入一个可以长度不同的大型excel文件(250列+10万行),它包含数据列,列的数量和名称可以更改,行也是可变的,但它们是值。 我正在使用Interop将数据拉入绑定到数据网格的数据表中,但是我正在单独导入每行,并且可能需要25分钟才能完成更大的文件。 public Task<DataTable> ParseExcel(string filePath) { return Task.Run(() => { var excelApp = new Microsoft.Office.Interop.Excel.Application(); var excelBook = excelApp.Workbooks.Open(filePath, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); var excelSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelBook.Worksheets.Item[1]; Microsoft.Office.Interop.Excel.Range excelRange = excelSheet.UsedRange; DataTable sessiondt = new DataTable(); object[,] value = excelRange.Value; int columnsCount = value.GetLength(1); […]

从WPF拖放到Excel

有谁知道是否有可能将对象从WPF拖放到Excel? 它可以是外部WPF应用程序,也可以是Excel Addin的元素主体内部的WPF项目。