c# - xmlns 中的条件程序集名称

标签 c# wpf xaml

xaml文件中,命名空间如下:

xmlns:vsp="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.15.0"

问题是,对于 Visual Studio 2015 它将是(注意不同的 assembly)

xmlns:vsp="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.14.0"

有没有办法有条件地提供 xmlns 或有条件地提供 assembly 名称?或者有其他方法可以做到这一点?

附言我重写了整个问题,因为我意识到我对 XmlnsDefinitionAttribute 的理解是错误的。这必须进入“引用”程序集的 AssemblyInfo.cs 并且在这个问题的上下文中,我们无权访问引用程序集的 AssemblyInfo.cs

最佳答案

我能让它工作的唯一方法是拥有我自己的 EnvironmentColors 包装器(这是我在 xaml 中使用的唯一类(class))。 在包装器中,我只为我正在使用的属性(大约 8 个)在以下行中创建了属性:

public static class EnvironmentColorsWrapper
{
    public static ThemeResourceKey AccentBorderBrushKey 
    { 
        get
        {
            return EnvironmentColors.AccentBorderBrushKey;
        }
    }
}

EnvironmentColorsWrapper用于 xaml文件。

Microsoft.VisualStudio.Shell.14.0 & Microsoft.VisualStudio.Shell.15.0csproj 中有条件地引用文件。

如果其他人发布了更好的方法来做到这一点,我会接受它,否则会接受这个作为答案。

关于c# - xmlns 中的条件程序集名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47609819/

相关文章:

c# - 有没有办法计算忽略初始化时间的测试方法的运行时间?

c# - 方法类型~符号

c# - 在 DrawText Wpf C# 中使用自定义字体

xaml - Windows 应用商店应用日历 XAML 控件

c# - WPF 列表框项位图图像更新

c# - dllimport 和 getProcAddress 之间的区别

c# - .net 中的 IP 路由表查找

c# - WPF 窗体设计器与我的 XAML 有问题。请帮忙

WPF Canvas : centered origin, 缩放轴(和 y 反转),响应鼠标事件

wpf - 嵌套对象更改时更新绑定(bind)