0
Q
在运行时更改主题
A
回答
0
GTK#3可以加载在运行时CSS主题,您可以递归地将其应用到一个小部件的所有儿童。
var cssProvider = new CssProvider();
cssProvider.LoadFromData(yourCssThemeAsString);
ApplyCssRecursively(window, cssProvider, UInt32.MaxValue);
static void ApplyCssRecursively(Widget widget, IStyleProvider provider, uint priority)
{
widget.StyleContext.AddProvider(provider, priority);
var container = widget as Container;
if (container == null) return;
foreach (var child in container.Children)
ApplyCssRecursively(child, provider, priority);
}
相关问题
- 1. Android Auto - 在运行时更改主题
- 2. 运行时更改Android材质主题
- 3. 更改引导主题运行时
- 4. 更改Android主题运行时
- 5. 在MouseClick上运行时动态更改QML主题
- 6. 在ASP.NET Web窗体中运行时更改Bootstrap.css主题
- 7. Android在运行时更改列表视图主题
- 8. 在运行时更改Flex 4主题(CSS + Skin)?
- 9. 有没有办法在运行时更改android主题?
- 10. 在运行时更改Polymer应用程序的主题
- 11. 在运行时更改MenuItem标题
- 12. 更改展望主题行
- 13. 在运行时更改appconfig
- 14. 在运行时更改Winsock.LocalIP
- 15. 在运行时更改ListItem
- 16. 在运行时更改fieldCls
- 17. 更改在运行时
- 18. 在运行时更改LSApplicationQueriesSchemes
- 19. 运行时更改DataGridView标题文本
- 20. 在运行时更改主题,需要查看重画,但它不
- 21. 如何改变在运行时GWT/SmartGWT的主题
- 22. Windows窗体:在运行时更改应用程序主窗口
- 23. 我如何在运行时更改主页面
- 24. Delphi在应用程序运行时更改主窗体
- 25. 在运行时更改JList行颜色
- 26. 在运行时如何在运行时更改属性值
- 27. 仅在更改主题时更改颜色
- 28. 从主页更改主题
- 29. 按主题更改主页
- 30. 运行时更改TextBox BackColor
更好地使用'StyleContext.AddProviderForScreen'而不是'AddProvider'来递归地知道谁知道有多少个小部件。 – ptomato