使用MVVM从WPF应用程序启动对话框/子窗口的标准方法

总而言之,我想知道使用MVVM模式从WPF启动[子]对话框/窗口的公认最佳方法/行业标准。 我遇到过以下文章: A. CodeProject – 使用MVVM模式时显示对话框 这种方法看起来不错,但对我来说太过分 这是一定程度的代码复制,我不相信这是正确的方法。 B. WPF MVVM和显示对话框 这简要地介绍了三个选项,其中包含各种链接,这些链接在解释方法或主题方面都相当/非常差。 有人可以提供一个行业标准方法/方法的解释,从使用MVVM的WPF应用程序启动对话框,最好是一些链接到进一步的阅读材料? 如果你能自己提供一个例子我当然会非常感激! 谢谢你的时间。

保存两个实体之间的关系和NN关联

我有一个带有poco对象的Entity Framework 4.0。 edmx模型文件是从数据库生成的。 这个datacontext是通过WCF服务访问的,它只是意味着我收到了一些对象,我需要将它们附加到当前的datacontext(或者用密钥对应重新加载它们)。 一切似乎工作正常,除了一个案例: 我在两个表之间有一个NN关系,所以我有一个关联表,除了两个表的ID之外没有任何字段: LINQ将此转换为以下架构,这似乎是正确的。 当我检索数据时没有问题,我自己插入Right_group的数据被正确地转换为“我的权利/群组集合中的新对象”。 但是,如果我尝试修改某些内容并保存,则无效 public void SaveRights(Group group, List rights){ //here, group and rights are objects attached to the database group.Rights.Clear(); group.Rights.AddRange(rights); _dataContext.SaveChanges(); } 所以我的问题是:如何保存这两个对象的“关系”? 谢谢!

如何在Windows Azure(MVC)中记录错误和用户操作?

Azure正在快速变化,所以有人可以给我一些关于如何记录的建议: 错误 例外 用户操作 我希望能够将这些记录到表存储中,以便可以使用代码检索它们并在管理网页上查看它们。 我对代码看起来并不多,但我真正想要的是知道我应该在哪里看。 Azure变化如此之快,我希望确保使用最好的。 谢谢

Asp.Net获取屏幕宽度

如何在Asp.net(C#)项目中获取服务器端的屏幕宽度?

从客户端的不同文件加载WCF配置

许多人面临的WCF中的一个常见问题是不可能从不同的配置文件加载客户端配置。 这是开发人员想要部署一些二进制文件以及独立配置文件(也可能位于资源文件或其他配置文件中)以避免修改主配置文件时的常见情况。 我找到了两个参考: http://weblogs.asp.net/cibrax/archive/2007/10/19/loading-the-wcf-configuration-from-different-files-on-the-client-side.aspx http://social.msdn.microsoft.com/forums/en-US/wcf/thread/f33e620a-e332-4fd4-ae21-88c750437355/ 哪个是关于它的最佳解决方案? 有关最佳解决方案的任何建议吗? 我使用VS 2008和.NET 3.5。

如何以编程方式将文本添加到位图图像? WPF

我正在使用Kinect传感器通过将video输入设置为位图源来显示图像上的video,如下所示。 但我的问题是如何将图像添加到图像/位图,例如分数计数器,我在下面添加了一张图片来展示我想要实现的目标。 void myKinect_ColorFrameReady(object sender, ColorImageFrameReadyEventArgs e) { using (ColorImageFrame colorFrame = e.OpenColorImageFrame()) { if (colorFrame == null) return; byte[] colorData = new byte[colorFrame.PixelDataLength]; colorFrame.CopyPixelDataTo(colorData); KinectVideo.Source = BitmapSource.Create(colorFrame.Width, colorFrame.Height, 96, 96, PixelFormats.Bgr32, null, colorData, colorFrame.Width * colorFrame.BytesPerPixel); } }

不同forms之间的沟通

在C#中,使用winforms,使表单相互通信的最佳方法是什么? 从另一个发送数据,消息,字符串等等? 代表们? 想法?

如何在后台加载图像?

我正在尝试在后台加载图像,然后更新UI。 我整天都在玩这个,我不知道我错过了什么。 我一直收到以下错误: “调用线程无法访问此对象,因为不同的线程拥有它。” 我已经在示例后跟随示例,但我似乎无法找到答案。 我还在另一个BeginInvoke中包含了触摸UI的代码。 更新3:故事的寓意。 ImageSource对于访问不是线程安全的。 更新2:这必须是一个简单的解决方案:)。 我尝试了克隆,但这并没有带来成功,但我确实得到了一个不同的错误:“调用目标引发了exception。” 更新1:我尝试了BackgroundWorker,但我仍然得到相同的错误,但它发生在brush.ImageSource.Height上。 我是否正确地通知了用户界面? 有什么建议? 这是我的XAML: 以下是一些背后的代码: namespace Slideshow { public class Show { public Show() { BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += new DoWorkEventHandler(bw_DoWork); bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted); bw.RunWorkerAsync(); } void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { BitmapSource bitmap = e.Result as BitmapSource; if (bitmap != […]

无法首先使用Npgsql和Entity Framework代码在PostreSQL中创建数据库

我正在尝试设置我的应用程序以使用Entity Framework和PostgreSQL,但我遇到了一个问题。 我已经通过nuget添加了Npqsql,并将以下提供程序工厂添加到web.config : 使用连接字符串: 它似乎很好地连接到数据库,但当我尝试在数据库上执行任何类型的操作时,我得到以下exception: FATAL: 3D000: database “withoomph” does not exist 当db设置如下时,我正在正确设置数据库intitializer: static MyDB() { Database.SetInitializer(new CreateDatabaseIfNotExists()); } 所以当我尝试用我的DbContext做任何事情时,它应该只是简单地创建db? 我不明白,整个早上都拔我的头发!

使用自定义DataAnnotationsModelValidatorProvider进行服务器端validation

我已经设置了一个自定义提供程序,允许从数据存储而不是静态代码中设置validation属性。 在我的.NET MVC 4项目中使用客户端validation很好用,但我无法让服务器端validation工作。 CustomModelValidatorProvider .cs: public class CustomModelValidatorProvider:DataAnnotationsModelValidatorProvider { protected override IEnumerable GetValidators(ModelMetadata元数据,ControllerContext上下文,IEnumerable属性) { //在这里设置数据存储区的属性 return base.GetValidators(元数据,上下文,属性); } } 在我的Global.asax.cs中,我有: protected void Application_Start() { ModelValidatorProviders.Providers.Clear(); ModelValidatorProviders.Providers.Add(new CustomModelValidatorProvider()); } 在Web API方法中,我有: var validationResultList = new List(); bool valid = Validator.TryValidateObject(myModelObject,new ValidationContext(myModelObject,null,null),validationResultList,true); 在这里,有效总是如此。 即使Jquery客户端validation显示错误。 在服务器端,我的自定义提供程序不用于应用数据注释。 当我在GetValidators()中设置断点时,在创建View时调用它并正确显示客户端validation器,但是当模型绑定到控制器时不会再次调用它。 我错过了一步吗? 任何帮助是极大的赞赏! UPDATE 当对象发布到Controller时,自定义validation器可以正常工作,但在发布到ApiController时不会被触发。