【发布时间】:2018-07-26 17:46:11
【问题描述】:
我正在尝试将深色主题支持添加到我的爱好应用程序中。应用程序是 WinForms,我不想在 WPF 中重写 UI。因此,我尝试将几个 WPF 控件添加到我的应用程序中,主要是因为它们允许对滚动条进行主题化。
我正在按照本教程进行主机控制:https://www.codeproject.com/Articles/739902/How-to-Easily-Host-WPF-Control-inside-Windows-Form
到目前为止一切正常,除了我无法动态更改托管在 WinForms 中的 WPF 控件的背景颜色。我尝试了很多事情,提升属性更改,调用 SetValue 等,但我可以控制背景/前景的唯一方法是直接在 XAML 中设置它们,这不是我想要的,因为我希望能够选择更改颜色。
这是我想象中最接近我想要的:
System.Windows.Style style = new System.Windows.Style();
style.TargetType = typeof(WpfControls.ListViewControl);
style.Setters.Add(new System.Windows.Setter(WpfControls.ListViewControl.BackgroundProperty, System.Windows.Media.Brushes.Pink));
style.Setters.Add(new System.Windows.Setter(WpfControls.ListViewControl.ForegroundProperty, System.Windows.Media.Brushes.Red));
this.listViewControl.Style = style;
【问题讨论】:
标签: wpf winforms elementhost