以编程方式管理C ++ WPF ListBoxItem样式资源添加不起作用

时间:2018-03-17 11:11:45

标签: wpf c++-cli

我知道这可能是我正在做的绝对疯狂但是现在这种情况不会给我任何其他选择。 我正在使用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下没有做任何事情???

0 个答案:

没有答案