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. 在運行時更改主題頭
- 3. 更改Android主題運行時
- 4. 更改引導主題運行時
- 5. 運行時更改Android材質主題
- 6. 如何在運行時將黑色主題更改爲白色主題?
- 7. 在ASP.NET Web窗體中運行時更改Bootstrap.css主題
- 8. Android在運行時更改列表視圖主題
- 9. 在應用程序運行時更改主題
- 10. 有沒有辦法在運行時更改android主題?
- 11. 動態更改QML主題在運行時
- 12. 在運行時更改Android主題屬性
- 13. 在運行時更改Polymer應用程序的主題
- 14. 如何在運行時更改顏色主題
- 15. 在MouseClick上運行時動態更改QML主題
- 16. 在運行時更改Flex 4主題(CSS + Skin)?
- 17. 在運行時更改CSS文件(主題)(ASP.NET)
- 18. 在運行時更改MenuItem標題
- 19. DataGrid - 在運行時更改列標題
- 20. 更改展望主題行
- 21. 在運行時更改dbContext
- 22. 在運行時更改string.xml
- 23. 更改在運行時
- 24. 在運行時更改LSApplicationQueriesSchemes
- 25. 在運行時更改fieldCls
- 26. 在運行時更改appconfig
- 27. 在運行時更改Winsock.LocalIP
- 28. 在運行時更改ListItem
- 29. 在運行時更改.dll
- 30. 運行時更改DataGridView標題文本
更好地使用'StyleContext.AddProviderForScreen'而不是'AddProvider'來遞歸地知道誰知道有多少個小部件。 – ptomato