草庐IT

c# - 在不将 WPF 控件添加到窗口的情况下测试它

我有一个UserControl,它在其Loaded事件中发布一个EventAggregator消息。为了对此进行测试(并引发Loaded事件),我目前正在创建一个窗口并将控件添加到其中,然后等待引发Loaded事件。有没有什么方法可以设置一个测试,以便在不必创建控件并将控件添加到窗口的情况下触发Loaded事件?例如:[Test,RequiresSTA]publicvoidactive_thingy_message_is_published_on_loaded(){conststringTestMsg="Activethingychanged";using(AutoResetEvent

WPF ComboBox ItemTemplate 绑定(bind)到字符串集合

我在wpf中有一个组合框,它绑定(bind)到List.一切正常,但现在出于某种原因我需要绑定(bind)到项目模板。组合框的XAML是如果我的数据源是一个自定义集合,那么绑定(bind)很容易,我应该只传递自定义集合中的属性名称,但是由于绑定(bind)源是一个字符串列表,绑定(bind)属性应该是什么? 最佳答案 应该是相当于请参阅Binding.Path上的备注部分MSDN页面以获取更多详细信息。 关于WPFComboBoxItemTemplate绑定(bind)到字符串集合,我们

c# - 无边框 WPF 窗口上没有玻璃效果的原生 Aero 模糊

我知道有人提出并回答了类似的问题。然而,我的问题是由三部分组成的。为了这个问题的目的,请记住以下几点:我是一名业余爱好者,早期大学本科学习计算机科学。我不太擅长复杂的编程,但我能理解大多数术语。这是一个使用VB.NET在VisualStudio中创建的WPF项目,但由于语言的相似性,我可以同样轻松地阅读C#。这是我第一次尝试任何DWMAPI。1。将AeroGlass应用于无边框窗口首先,是否可以在无边框窗口背景中使用玻璃效果?如果是这样(我相信是这样),这是如何完成的?此外,由于Windows8和更新版本不再使用半透明玻璃效果,是否仍可以在这些操作系统上完成此操作?2。在没有玻璃的情况

c# - WPF:自定义控件中的多个内容呈现器?

我正在尝试拥有一个自定义控件,该控件需要2个或更多XAML区域由子控件定义-从该控件继承。我想知道是否有一种方法可以定义多个contentpresenter和一个充当默认contentpresenter这可能吗,如何在自定义控件的模板中定义它? 最佳答案 模板可以像这样绑定(bind)单独的ContentPresenter实例(我在这里只设置了一个属性,但您可能想要设置其他属性):控件本身应该公开两个内容属性并使用ContentPropertyAttribute设置默认值:[ContentProperty("Content1")]p

c# - 在透明 WPF 窗口后面模糊

我正在尝试创建一个带有半透明无边框窗口的WPF应用程序,该窗口模糊了其背后的背景。这是我想做的一个例子。Screenshot我尝试使用仅适用于WindowsVista/7的DwmEnableBlurBehindWindow。我正在尝试寻找适用于Windows7、8和10的解决方案。 最佳答案 对于任何感兴趣的人,我已经找到了适用于Windows10的解决方案,它看起来好像在Windows8上是不可能的,就像DavidHeffernan提到的那样,DwmEnableBlurBehindWindow已从Windows8中删除,但是Mic

c# - WPF 调用控件

如何调用带有参数的控件?我用谷歌搜索了这个,但无处可寻!invokeuithread这是我得到的错误:Additionalinformation:Parametercountmismatch.当我简单地检查文本框控件的文本属性是否为空时,就会发生这种情况。这适用于WinForms:if(this.textboxlink.Text==string.Empty)SleepThreadThatIsntNavigating(5000);它从thisif行跳转到catchblock并向我显示该消息。这就是我尝试调用控件的方式://thedelegate:privatedelegatevoidTB

c# - 拖放时滚动(WPF)

好吧,我一直在为这个问题抓狂,并花了好几个小时试图研究它是如何工作的,但我还没有找到答案,如果你想看我的任何SRC,请随意询问它,我会看看是否可以提供帮助。基本上我遇到的问题是我的应用程序中有一个TreeView文件夹,即:CatalogBrandsNikeAdidasLactoseStylesSandlesTrainersBoots我试图解决的问题是,当我拖动文件夹时(这在我的DragDropManager类中处理),我无法向上或向下滚动(只是显示一个可爱的停止符号)。我也无法在TreeView中找到实际的滚动条,所以我不确定它是如何生成的(这不是我自己的软件,我最近开始在一家公司工

C# - WPF - 在不使用 System.Windows.Forms 的情况下获取文件夹浏览器对话框?

我有这个WPF应用程序,我希望有从用户那里获取目录路径的功能。我想使用一些文件夹浏览器对话框,但我不想从System.Windows.Forms实现它或在里面使用一些巨大的脚本。在WPF中是否已经实现了一些获取对话框的路径?我在这里阅读了类似问题的答案,但里面全是System.Windows.Forms..我在工具箱中没有找到类似的东西,我从WPF开始,所以我需要一些帮助。提前谢谢你:] 最佳答案 请参阅我对SelectfolderdialogWPF的回答.基本上是WindowsPresentationFoundation4.5Co

c# - 显示带有 WPF、Winforms 和双显示器的窗口

我有2个显示器和一个启动WPF窗口的WinForm应用程序。我想获取WinForm所在的屏幕,并在同一屏幕上显示WPF窗口。我该怎么做? 最佳答案 WPF不包括方便的System.Windows.Forms.Screen类,但您仍然可以使用它的属性来完成您在WinForms应用程序中的任务。假设this表示WinForms窗口,而_wpfWindow是一个已定义的变量,在下面的示例中引用WPF窗口(这将在您设置为打开的任何代码处理程序中WPF窗口,如某些Button.Click处理程序):Screenscreen=Screen.Fr

c# - WPF:在代码隐藏中引用应用程序范围的资源

我已经制作了我自己的自定义转换器,给定一个字符串返回一个Brush。现在我能够返回常量画笔,例如Brushes.Red等,但我真的想使用我在应用程序范围的资源中定义的自己的颜色。如何从我自己的自定义转换器类中引用应用程序范围的资源?我会使用FindResource但正如我所说,这是来self自己的转换器类,而不是窗口或控件。 最佳答案 如果这些已在您的应用程序中定义,您可以使用Application.Current.FindResource()按名称查找它们。 关于c#-WPF:在代码隐