是否可以创建共享的xaml命名空间?

时间:2018-05-15 09:48:23

标签: wpf xaml

期待一个相当简单的是/否/你为什么要这样做,你蠢的回答。

我的绝大多数文件都有完全相同的命名空间声明。

<UserControl x:Class="myNamespace.Views.PageView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mvvm="http://prismlibrary.com/"
             xmlns:controls="clr-namespace:MyNamespace.Controls.Views;assembly=MyNamespace.Controls"
             mvvm:ViewModelLocator.AutoWireViewModel="true"
             AutomationProperties.AutomationId="{Binding PageName}"
             mc:Ignorable="d"
             HorizontalAlignment="Stretch"
             VerticalAlignment="Stretch"
             d:DesignHeight="618"
             d:DesignWidth="1024" >

将这些命名空间添加到不同的页面,自动完成有时会为它们提供不同的名称。控件可能会被调用视图,mvvm可能会被更改为棱镜等。

有没有办法在某处声明一组默认的命名空间,而只是将该引用添加到usercontrol中? IE

<UserControl x:Class="myNamespace.Views.PageView"
    something="{DynamicResource DefaultControlSetup}">

我知道做这样的事情可能没什么意义,但这是我脑子里的事情,我至少想知道它是否可能,即使它没有意义。

1 个答案:

答案 0 :(得分:1)

不,您无法使用某种DynamicResource或其他标记扩展名导入名称空间。

这些需要在每个XAML文件中定义,就像您必须向每个C#源代码文件添加适当的using指令一样。