【问题标题】:How to create a custom VSIX wizard based on the Visual studio's theme selected如何根据所选的 Visual Studio 主题创建自定义 VSIX 向导
【发布时间】:2020-06-10 17:02:15
【问题描述】:

我需要创建一个自定义 vsix(Visual Studio 扩展项目)向导,它是一个单一的 Windows 窗体,我开发它时考虑了在 Visual Studio 中选择的深色主题。因此,向导步骤中的窗口背景以深色背景显示。当用户将 Visual Studio 主题更改为浅色背景时,向导对话框颜色与背景 Visual Studio 主题的颜色相矛盾。有没有一种简单的方法可以访问在 C# 中以编程方式在 Visual Studio 中设置的背景主题?基于该主题,我可以开发其他对话窗口并将其显示给用户吗?简而言之,我可以用伪代码做如下所示的事情吗?

if(VS.Theme == Dark)
{
ShowDarkWizard();
}
else if(VS.Theme == Light)
{
ShowLightWizard();
}
else if(VS.Theme == Blue)
{
ShowBlueWizard();
}

【问题讨论】:

    标签: c# visual-studio vsix vs-extensibility vsixmanifest


    【解决方案1】:

    如果您的向导对话框是通过派生自 DialogWindow Class(如果您使用 WPF 可能应该是这样)实现的,您可以利用 XAML 标记中的 VsBrushes Class 来镜像 VS 样式。

    此致,

    【讨论】:

    • 不幸的是,我使用 WinForms 开发了 Wizard。还有其他方法可以在程序中获取主题吗?
    • 我没试过,但你也许可以使用IVsUIShell5.ThemeWindow。 docs.microsoft.com/en-us/visualstudio/extensibility/… 也有一些文档涵盖了其中的一些内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    相关资源
    最近更新 更多