草庐IT

c# - WPF C# - 更改菜单背景的画笔

有谁知道如何更改菜单背景的画笔?这听起来很简单,但我没有看到任何明显的方法来做到这一点。您可能认为Background属性会改变它,但事实并非如此。这是我的菜单的样子(注意默认的白色背景):示例代码: 最佳答案 我建议使用名为kaxaml的工具来编写样式。它包括几个代码片段、一个颜色选择器和一个即时查看xaml代码中所做更改的好方法。这是您要执行的操作的完整菜单样式。只需更改顶部的画笔颜色即可满足您的需要。 关于c#-WPFC#-更改菜单背景的画笔,我们在StackOverflow上找到

c# - 使用 WPF 构建高度模块化的业务应用程序?

我正在脑海中充实一个WPF业务应用程序,引起我兴趣的一件事是我应该如何处理使其难以置信的模块化。例如,我的主应用程序将只包含启动界面、加载模块、连接服务器等的基础知识。这些模块以类库的形式包含它们自己的逻辑和WPF窗口。模块可以定义自己的资源字典,并且都从主应用程序的资源字典中提取常用画笔等。实现这种性质的系统的最佳方式是什么?应该如何构建主界面,以便它加载的模块几乎可以改变其用户界面和逻辑的任何方面?我意识到这是一个相当模糊的问题,但我只是在寻找一般性意见和头脑Storm。谢谢! 最佳答案 查看CompositeClientApp

c# - 指定默认的空 DataTemplate 而不是默认的 'ToString()' DataTemplate

wpf应用程序中的默认DataTemplate显示.ToString()方法的结果。我正在开发一个默认DataTemplate不显示任何内容的应用程序。我试过:但这行不通。有谁知道如果不为应用程序中的每个类类型指定特定的DataTemplate是否可行? 最佳答案 如果您正在使用MVVM模式并且有一个抽象类,您的所有ViewModel类都派生自该抽象类,您可以使用该类而不是System.Object: 关于c#-指定默认的空DataTemplate而不是默认的'ToString()'Da

c# - 如何显示使用 Emgu 捕获的网络摄像头图像?

我目前正在从事一个使用面部识别的项目。因此,我需要一种方法来向用户显示网络摄像头图像,以便他可以调整自己的面部。我已经尝试了很多方法来使用尽可能少的CPU从网络摄像头获取图像:VideoRendererElementWPFMediaKitDirectShow-Lib但它们都不是很好......要么太慢要么太消耗CPU资源。然后我尝试了Emgulibrary我感觉很好。起初,我在Windows窗体项目中尝试过,并在PictureBox中更新图像。但是,当我试图将它集成到我的WPF项目中时,我陷入了如何将我的图像传递到我的图像控件的问题中。现在,我有以下源代码:以及背后的代码:privat

c# - PropertyChanged 事件测试 : is this a good way?

我正在使用MVVM模式开发WPF应用程序。我的ViewModel代码如下:publicboolEditModeEnabled{get{return_EditModeEnabled;}set{_ModeEditModeEnabled=value;OnPropertyChanged("EditModeEnabled");OnPropertyChanged("CommentTextBoxVisibility");}}OnPropertyChanged是基类的虚方法,它只是引发PropertyChanged事件。我想测试PropertyChanged事件引发和我的测试方法:publicvoid

c# - MVVM:精简 ViewModel 和丰富模型

我一直在与MVVM模式作斗争,并且在尝试为小型/中型项目创建实用设计时遇到了许多挑战。其中一项挑战是弄清楚如何在不创建大量重复且难以维护的代码的情况下获得与此模式分离的好处。我目前的策略是创建“丰富”的模型类。他们充分意识到他们将被MVVM模式消耗并实现INotifyPropertyChanged,允许他们的集合被观察并保持认识到他们可能总是被观察。我的ViewModel类往往很薄,仅在实际需要转换数据时才公开属性,其中大部分代码是RelayCommand处理程序。View很乐意直接绑定(bind)到ViewModel或模型,具体取决于是否需要任何数据转换。我使用AOP(通过Posts

c# - 在 WPF ListBox 中显示单个列表中的多种类型?

我有一个包含两种不同类型的ObservableCollection。我想将此列表绑定(bind)到ListBox并为遇到的每种类型显示不同的DataTemplates。我不知道如何根据类型自动切换数据模板。我曾尝试使用DataTemplate的DataType属性并尝试使用ControlTemplates和DataTrigger,但无济于事,要么没有显示任何内容,要么声称找不到我的类型...下面的示例尝试:我现在只有一个连接到ListBox的数据模板,但即使那样也不起作用。XAML:代码隐藏:publicclassPerson{publicstringName{get;set;}pub

c# - 在 MVVM 中使用后台 worker 更新 ObservableCollection

好的,我最近实现了一个后台工作程序来执行数据的保存和加载。然而,事实证明,要让它在保存命令上运行很困难。基本上,我的保存命令会生成一个事件,通知CollectionView模型已添加一个项目,并且该项目应该添加到它自己的ObservableCollection中。在这一点上,我得到了一个常见的异常,说我不能在不同的线程上更新ICollection。我已经尝试创建一个调用Dispatcher.Invoke的新列表类型,但这仍然会生成相同的异常。我想知道是否还有其他人对如何最好地解决这个问题有任何建议?所以目前我有一个继承自ObservableCollection的类:publicclas

c# - wpf - 将数据上下文绑定(bind)到单例类的静态属性

我发现自己对我的App类使用了很多单独的绑定(bind)来存储属性,这导致我遇到了无法追踪的stackoverflow异常。我现在决定将这些属性移动到一个单独的单例ApplicationInfo类,但我在绑定(bind)方面遇到了一些问题。如果我直接绑定(bind)到我的类的成员属性,例如CurrentUser,那么它工作正常。但是,当我尝试将数据上下文绑定(bind)到此类时,我遇到了编译器错误,而且我确信我忽略了一些简单的修改。我已经从此类中创建了一个单例,但现在当我尝试编译时,我收到错误“未知构建错误-键不能为空”,它指向我的Datacontext绑定(bind)以获取错误消息。

c# - 使用 System.ComponentModel.DataAnnotations.Validator 验证属性

我的实体设置为DataAnnotation验证属性,我正在尝试使用静态Validator对其进行验证类,但我得到不同的异常,这不是正确的方法吗:string_ValidateProperty(objectinstance,stringpropertyName){varvalidationContext=newValidationContext(instance,null,null);validationContext.MemberName=propertyName;varvalidationResults=newList();varisValid=Validator.TryValida