草庐IT

c# - WPF DataGrid 的 EnableRowVirtualization 和 VirtualizingStackPanel.IsVirtualizing 属性之间的区别

几乎没有关于设置影响的信息;VirtualizingStackPanel.IsVirtualizing="True"和EnableRowVirtualization="True"EnableColumnVirtualization="True".谁能解释一下区别是什么?此外,作为额外的奖励,任何人都可以澄清EnableRowVirtualization和EnableColumnVirtualization是否真的在3.5网格上执行任何操作,因为MSDN文档仅将这些属性列回4.0,但它们肯定存在于3.5中?谢谢。 最佳答案 IsVir

c# - 如何在长时间运行的 *UI* 操作中让 UI 刷新

在您将我的问题标记为重复之前,请听我说完。大多数人都在执行长时间运行的非UI操作,并且需要解除对UI线程的阻塞。我有一个长时间运行的UI操作,它必须在阻塞我的应用程序其余部分的UI线程上运行。基本上,我在运行时动态构建DependencyObject并将它们添加到我的WPF应用程序的UI组件中。需要创建的DependencyObject的数量取决于用户输入,没有限制。我的测试输入之一有大约6000个DependencyObject需要创建,加载它们需要几分钟时间。在这种情况下使用后台worker的通常解决方案不起作用,因为一旦DependencyObject由后台worker创建,它们

c# - 从已编译的 DLL 中获取所有 XAML 文件

我想在运行时从第三方库(DLL)加载外部XAML样式。喜欢thistutorial他们使用:Application.LoadComponent(newUri("/WpfSkinSample;component/Skins/"+name+".xaml",UriKind.Relative))asResourceDictionary;加载新样式。但我不知道来自第三方库的XAML名称,所以我正在寻找一种方法来获取它们并将它们加载到我的应用程序中。感谢您的帮助。编辑:感谢andyp,我做了以下工作:publicvoidLoadXaml(StringAssemblypath){varassembl

c# - 等效于 WPF .NET 5、.NET 6 或 .Net Core 中的 UserSettings/ApplicationSettings

对于.NET5、.NET6或.NetCore>=3.0的WPF应用程序,持久化用户设置的首选方法是什么?.NET用户设置到哪里去了?创建WPF.NetCore3.0项目(VS2019V16.3.1)现在我看到没有Properties.Settings部分了。[2022年更新:对于.NET6,它仍然是一样的]网上搜索后,开始深入Microsoft.Extensions.Configuration。除了臃肿的代码访问设置,现在更糟->没有保存?UserConfigurationSettingsin.NETCoreFortunatelyorunfortunatelytheMicrosoft.

c# - 为什么 e.Handled = true 不起作用?

我有以下XAML在后面的代码中我正在这样做privatevoidStackPanel_MouseEnter(objectsender,MouseEventArgse){}privatevoidGrid_MouseEnter(objectsender,MouseEventArgse){e.Handled=true;}privatevoidButton_MouseEnter(objectsender,MouseEventArgse){e.Handled=true;}现在,即使我将鼠标移到Button上并设置e.Handled=true,Grid和StackPanel分别被调用。为什么?我应

c# - 将 CollectionViewSource 与 GroupDescriptions 一起使用时的 ListBox ScrollIntoView(即 IsGrouping == True)

精简版我想在更改选择时将ListBox项目滚动到View中。长版我有一个ListBox,其ItemsSource绑定(bind)到一个CollectionViewSource和一个GroupDescription,如示例所示以下。代码隐藏文件中有一个SelectionChanged事件。publicListAnimals{get;set;}privatevoidListBox_SelectionChanged(objectsender,SelectionChangedEventArgse){ListBoxcontrol=(ListBox)sender;control.ScrollInt

c# - 动态添加超链接到 RichTextBox

我正在尝试使用WPF和C#向RichTextBox动态添加一些超链接,但收效甚微。我的代码总结如下:FlowDocumentdoc=newFlowDocument();richTextBox1.Document=doc;richTextBox1.IsReadOnly=true;Paragraphpara=newParagraph();doc.Blocks.Add(para);Hyperlinklink=newHyperlink();link.IsEnabled=true;link.Inlines.Add("Hyperlink");link.NavigateUri=newUri("htt

c# - 如果移动到其他屏幕,WPF MediaElement 将停止播放

我在使用MediaElement时遇到了一个非常奇怪的问题,它似乎与多屏幕环境有关:偶尔(我无法每次都重现该问题)当我将MediaElement所在的窗口从一个屏幕拖到另一个屏幕时停止播放.这种奇怪的行为也会发生在非常基本的代码中,例如:publicMainWindow(){InitializeComponent();}protectedoverridevoidOnSourceInitialized(EventArgse){media.Play();base.OnSourceInitialized(e);}和有没有人遇到(并最终解决)任何类似的问题? 最佳答

c# - 如何在wpf中实现带有清除按钮的文本框?

我有以下UserControl。这是一个带有Button的TextBox:在Windows7中看起来不错,但在WindowsXP中我遇到以下问题:关于如何解决这个问题有什么想法吗?如果我将背景设置为透明,那么按钮就没有问题,但文本位于按钮下方并且看起来很奇怪。 最佳答案 缩小Button和/或添加小边距以“缩小”可见背景。编辑:环顾四周(想知道这还没有作为一些新功能添加)我发现了thisarticlewithstep-by-stepinstructionsyoucouldgiveatry.

c# - "async void"WPF 命令处理程序中的异常处理

我正在审查我同事的一些WPF代码,这是一个库的UserControl-basedcomponentswithalotofasyncvoid事件和命令处理程序。这些方法目前没有在内部实现任何错误处理。代码简述:privateasyncvoidNewCommand_Executed(objectsender,ExecutedRoutedEventArgse){//dosomefakeasyncwork(andmaythrowiftimeout在NewCommand_Executed中抛出但未观察到的异常只能在全局级别处理(例如,使用AppDomain.CurrentDomain.Unhan