我知道这可能是我正在做的绝对疯狂但是现在这种情况不会给我任何其他选择。 我正在使用C ++ / CLI将WPF UI组合在一起,而不将XAML连接到非托管/ PURE C ++ Direct3D11元素,只要您不偏离UI模板/样式区域,它就会起作用。
然而,在UI的一部分中,我真的需要更改ListBox的所选和悬停选定项目的颜色,使其远离默认的窗口样式,而cient根本不喜欢那种偏蓝的颜色。
我尝试了以下代码,但效果不大:
System::Windows::Style^ s = gcnew System::Windows::Style((gcnew System::Windows::Controls::ListBoxItem())->GetType());
s->Resources->Add(SystemColors::HighlightBrushKey, gcnew SolidColorBrush(System::Windows::Media::Color::FromRgb(255,0,0)));
s->Resources->Add(SystemColors::ControlBrushKey, gcnew SolidColorBrush(System::Windows::Media::Color::FromRgb(255, 0, 0)));
ListBox^ filelist = gcnew ListBox();
filelist->ItemContainerStyle = s;
但这基本上没有任何内容也将样式分配给 - > ListBox的FocusVisualStyle属性什么都不做
有关如何操作或如何在不诉诸XAML资源的情况下使其工作的任何建议
更新:看起来这段代码至少部分在Windows 7下工作,但在Windows 10下没有做任何事情???