Ожидая довольно простого ответа да / нет / зачем тебе это делать, ты, придурок.

Подавляющее большинство моих файлов имеют точно такие же объявления пространств имен.

<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 может быть изменен на призму и т. Д.

Есть ли способ объявить где-нибудь набор пространств имен по умолчанию и вместо этого просто добавить эту ссылку в пользовательский элемент управления? IE

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

Я знаю, что может быть очень мало смысла в том, чтобы делать что-то подобное, но это то, что у меня в голове, и я, по крайней мере, хотел бы знать, возможно ли это, даже если это бессмысленно.

1
user3265613 15 Май 2018 в 12:48

1 ответ

Лучший ответ

Нет, вы не можете импортировать пространства имен с помощью какого-либо DynamicResource или другого расширения разметки.

Они должны быть определены в каждом файле XAML так же, как вам нужно добавить соответствующие директивы using в каждый файл исходного кода C #.

1
mm8 15 Май 2018 в 09:54