WPF:通过DataTrigger设置ListView视图

我有一个列表视图和2个资源,用于显示列表的视图:BooksGridView和ImageDetailView。 ViewModel有一个名为ViewMode的字符串属性,它包含我当前想要显示的视图的名称。 (它使用工具栏从另一个控件更改) 我试图通过使用DataTrigger更改所选视图,但我似乎无法更改View属性。 当我直接设置View资源时,会显示正确的视图。 我还添加了背景更改以确保数据触发器已激活,并且后台确实发生了变化。 所以我显然在这里遗漏了一些东西…… … … 谢谢

System.Threading.Timer vs System.Threading.Thread.Sleep resolution – .NET Timer不使用系统时钟分辨率

问题:尽管OS时钟分辨率更精确,为什么System.Threading.Timer保持15ms的分辨率? 在没有繁忙的CPU等待的情况下,实现1ms定时事件解析的可行方法是什么? 再次强调: 在我的情况下,系统计时器的分辨率为1ms (与建议重复的问题相反)。 所以这不是系统计时器分辨率的问题。 因此,在所谓的重复问题中没有有用的信息。 背景:似乎.NET System.Threading.Timer 没有使用系统时钟分辨率 – 它保持了~15ms的分辨率。 尽管OS时钟(例如Sleep分辨率)更加精确。 在我的盒子上(当几乎空闲并且有4个核心可用时): >Clockres.exe ClockRes v2.0 – View the system clock resolution Copyright (C) 2009 Mark Russinovich SysInternals – www.sysinternals.com Maximum timer interval: 15.625 ms Minimum timer interval: 0.500 ms Current timer interval: 1.001 ms 输出我的快速测试: Sleep test: Average time delta: 2[ms] (from 993 […]

服务器返回一个地址以响应PASV命令,该命令与进行FTP连接的地址不同

System.Net.WebException:服务器返回一个地址以响应PASV命令,该命令与进行FTP连接的地址不同。 在System.Net.FtpWebRequest.CheckError() 在System.Net.FtpWebRequest.SyncRequestCallback(Object obj) 在System.Net.CommandStream.Abort(例外e) 在System.Net.FtpWebRequest.FinishRequestStage(RequestStage阶段) 在System.Net.FtpWebRequest.GetRequestStream() 在D:\ PROJEKTI \ BackupDB \ BackupDB \ Program.cs中的BackupDB.Program.FTPUploadFile(String serverPath,String serverFile,FileInfo LocalFile,NetworkCredential Cred):第119行 码: FTPMakeDir(new Uri(serverPath + “/”), Cred); FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverPath+serverFile); request.UsePassive = true; request.Method = WebRequestMethods.Ftp.UploadFile; request.Credentials = Cred; byte[] buffer = new byte[10240]; // Read/write 10kb using (FileStream sourceStream = new FileStream( LocalFile.ToString(), FileMode.Open)) { […]

WPF UI自动化问题

这个线程属于这个 我在问我需要从哪里插入解决方法 我有一个WPF应用程序,在Windows 7的某些客户端上存在性能问题。在Windows XP上,所有工作都很快。 该应用程序有一个MainShell和一些Child-Windows。 MainShell有时在某些机器上挂起,子窗口也是如此。 现在,我是否必须从所有窗口中的上述链接的线程中插入变通方法? 还有其他解决方法吗?

如何使用HashSet 作为字典键?

我希望使用HashSet作为Dictionary的键: Dictionary<HashSet, TValue> myDictionary = new Dictionary<HashSet, TValue>(); 我想从字典中查找值,以便包含相同项的两个不同的HashSet实例将返回相同的值。 HashSet的Equals()和GetHashCode()实现似乎没有这样做(我认为它们只是默认值)。 我可以重写Equals()以使用SetEquals()但是GetHashCode()呢? 我觉得我在这里错过了一些东西……

Lucene.net范围查询+突出显示

还有一个极端新手的另一个Lucene.net问题。 这一次,我发现使用包含范围和使用突出显示的查询时会遇到一个有趣的问题。 我是从内存中写的,所以请原谅任何语法错误。 我有一个假设的Lucene索引: ——————————————————— | date | text | ——————————————————— | 1317809124 | a crazy block of text | ——————————————————— | 1317809284 | programmers are crazy | ——————————————————— ** date is a unix timestamp …并且它们已经通过以下方式添加到索引中: Lucene.Net.Documents.Document doc = new Lucene.Net.Documents.Document(); doc.Add(new Lucene.Net.Documents.Field(“text”, “some block of text”, Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.ANALYZED, Lucene.Net.Documents.Field.TermVector.WITH_POSITIONS_OFFSETS)); doc.Add(new Lucene.Net.Documents.Field(“date”, “some unix timestamp”, […]

如何在Dynamic Linq中使用Enums?

我想在动态LINQ查询中使用枚举。 是否可能,如果,如何? 考虑下面的代码: using System; using System.Collections.Generic; using System.Linq; using System.Linq.Dynamic; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { Room aRoom = new Room() { Name = “a Room” }; Room bRoom = new Room() { Name = “b Room” }; Room cRoom = new Room() { Name = “c Room” }; […]

在C#内部使用TPL内部服务的基本设计模式

我正在尝试构建Windows服务,它需要某种并行性来汇集来自不同ftp源的文件。 为了启动多个ftp下载,我正在寻找TPL库来轻松地进行foreach循环并使并行性变得非常容易。 但是当我搜索如何启动或停止我的服务时,我最好的资金是在OnStart()方法中创建新线程,如下所述https://stackoverflow.com/a/4865893/69433 阅读有关TPL的信息,请注意TPL比手动线程和手动停止线程更先进。 我没有找到任何描述如何在WindowsService中进行TPL循环的示例post? 我的代码: protected override void OnStart(string[] args) { _thread = new Thread(WorkerThreadFunc); _thread.Name = “My Worker Thread”; _thread.IsBackground = true; _thread.Start(); } 而在WorkerThreadFunc里面做了那种TPL private void WorkerThreadFunc() { foreach (string path in paths) { string pathCopy = path; var task = Task.Factory.StartNew(() => { Boolean taskResult = ProcessPicture(pathCopy); return taskResult; }); task.ContinueWith(t […]

.NETreflection:查找使用的类型

我一直在努力解决这个问题。 我试图做的是在我正在处理的一些代码中构建一个如何使用对象的“映射”。 将其视为增强的查找用法。 显示这个的最简单方法是通过示例: public class MasterClass { Type1 type1; Type2 type2; Type3 type3; void InitializeData() { type1 = new Type1(this); type2 = new Type2(this); type3 = new Type3(this); } } public class Type1 { private MasterClass _master; public Type1(MasterClass master) { _master = master; } public void Something() { //use _master.type2 and _master.type3 here […]

你如何在代码中获得C#(VS 2008)中的解决方案目录?

这里有一个恼人的问题。 我有一个NHibernate / Forms应用程序,我正在通过SVN工作。 我做了一些自己的控件,但是当我拖放那些(或者查看我已经拖放过的一些表单编辑器)到我的其他控件上时,Visual Studio决定它需要执行我编写的一些代码,包括查找hibernate.cfg.xml的部分。 我不知道为什么会这样,但是(有时!)当我在表单加载期间执行代码或拖放它时将当前目录切换到C:\ program files \ vs 9.0 \ common7 \ ide,然后nhibernate抛出一个例外,它无法找到hibernate.cfg.xml,因为我在相对路径中搜索它。 现在,我不想硬编码hibernate.cfg.xml的位置,或者只是将hibernate.cfg.xml复制到ide目录(这将起作用)。 我想要一个获得解决方案目录的解决方案,而当前目录是common7 \ ide。 可以让某人在设计器中查看我的表单,然后在任意机器上的任意目录中进行新的检查。 不,我不打算在代码中加载控件。 我在控件中有如此多的控件,如果没有它,将所有内容排成一行都是一场噩梦。 我尝试了一个预构建事件,它创建了一个包含解决方案目录的文件,但当然如何从common7 \ ide中找到它? 由于svn,所有项目文件都需要位于解决方案目录中。 谢谢你的帮助,我已经花了几个小时摆弄这个徒劳。 更新:我将hibernate.cfg设置为嵌入式资源。 对于每个配置,我只需创建一个新的构建配置,调试,发布,XYZ。 在大多数情况下,我建议嵌入您依赖的任何文件来运行程序。 它使构建安装程序变得更加简单。