Я пытаюсь создать пользовательский элемент управления WPF, который наследуется от стандартного TextBlock, как это:Как ссылаться Пользовательские WPF управления в Generic.xaml
public class DynamicDateTextBlock : TextBlock
{
static DynamicDateTextBlock()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(DynamicDateTextBlock), new FrameworkPropertyMetadata(typeof(DynamicDateTextBlock)));
}
}
Предос- Generic.xaml выглядит следующим образом:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Test">
<Style TargetType="{x:Type local:DynamicDateTextBlock}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:DynamicDateTextBlock}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
Если я положил control.cs в корень моего решения, все работает нормально. Но если переместить в вложенную папку Test \ Controls и изменить пространство имен, соответственно, вдруг Generic.xaml дает компиляции ошибки
Название «DynamicDateTextBlock» не существует в пространстве имен «CLR-имен: Test. Управление»
CS-имен получает изменено на Test.Controls
и в XAML я стараюсь использовать его как это: xmlns:local="clr-namespace:Test.Controls"
ли есть что-то еще, что я должен сделать?
Рефакторинг управления с помощью Resharper для его перемещения дает ту же проблему.
это то, что я думал, но не компиляции больше после того, как я переместил контроль дает: 'Были построить errors.' После попытки запуска, список ошибок показывает еще один: ' Не удается найти свойство стиля ' Шаблон 'в типе' Test.Controls.DynamicDateTextBlock '. Строка 5 Позиция 17.' – Mikk
@Mikk, пожалуйста, см. Мой обновленный ответ. Не стесняйтесь задавать любые вопросы. – StepUp
Это странно, для меня он не работает даже вручную в новом, иначе пустом решении. автозаполнение предлагает точно то же самое в intellisense .. но я не могу построить и запустить результат. – Mikk