在XAML自动生成的文件中强制实施全局命名空间

时间:2018-03-24 09:49:25

标签: c# visual-studio xaml visual-studio-2017

我的问题与其他问题Enforce Global Namespace in XAML截然不同,因为我没有一个与封闭名称空间同名的类,但我无法想到更合适的标题会区分这两者。

如果我的XAML对象命名空间的任何部分也是另一个命名空间的根,则Visual Studio似乎更喜欢我的XAML对象的命名空间,这表示为编译器错误。

以下是一个示例,说明 我的命名空间WpfApp1.System.Viewsglobal::System发生冲突的部分:

<Window x:Class="WpfApp1.System.Views.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <!-- Amazing content goes here -->
    </Grid>
</Window>

“错误”窗格中显示了编译错误,obj/System/Views/MainWindow.g.i.csSystem的{​​{1}}部分下面显示了一条波浪形的红色下划线:

System.Windows.Window

显然,我的玩具示例仅阻止我在我的层次结构中的任何位置namespace WpfApp1.System.Views { public partial class MainWindow : System.Windows.Window { // ... } } 命名空间,但它也阻止我拥有任何第三方名称(例如System如果我在XAML中使用其中一个第三方组件。

如果不重命名我自己的命名空间(或引用的组件&#39;命名空间),我可以要求Visual Studio在其生成的XAML代码中使用DevExpress命名空间吗?

0 个答案:

没有答案