пользовательское свойство не найдено

Я хочу реализовать новое свойство (названное «MenuForeground») для элемента pivot, чтобы изменить цвет заголовка PivotItem через определенный ControlTemplate.

Поэтому я создал новый класс для настраиваемого свойства, добавил #include в необходимый файл code-behind xaml.h и определил новое пространство имен («xamlns: cap») в соответствии с пространством имен настраиваемого свойства.

PivotProperties.h

#pragma once
using namespace Windows::UI::Xaml;
namespace CustomAttachedProperties
{
public ref class PivotProperties sealed : Windows::UI::Xaml::DependencyObject
{
public:
    static Windows::UI::Color GetMenuForeground(UIElement^ obj);
    static void SetMenuForeground(UIElement^ obj, Windows::UI::Color value);

    static property DependencyProperty^ MenuForegroundProperty
    {
        DependencyProperty^ get() { return _menuForegroundProperty; }
    }

    private:
        static DependencyProperty^ _menuForegroundProperty;
    };
}

PivotProperties.cpp

#include "pch.h"
#include "PivotProperties.h"

using namespace CustomAttachedProperties;

DependencyProperty^ PivotProperties::_menuForegroundProperty = DependencyProperty::RegisterAttached(
"MenuForeground",
Windows::UI::Color::typeid,
Windows::UI::Xaml::Controls::Pivot::typeid,
ref new PropertyMetadata(false));

Windows::UI::Color PivotProperties::GetMenuForeground(UIElement^ obj)
{
    return (Windows::UI::Color)obj->GetValue(_menuForegroundProperty);
}

void PivotProperties::SetMenuForeground(UIElement^ obj, Windows::UI::Color value)
{
    obj->SetValue(_menuForegroundProperty, value);
}

Чтобы использовать новое свойство для элемента сводки, я объявил новое пространство имен xml в корневом элементе, как показано ниже

<Page
    // ...
    xmlns:cap="clr-namespace:CustomAttachedProperties">

Но если я попытаюсь использовать новое свойство ...

<Pivot x:Name="pivot" cap:PivotProperties.MenuForeground="Red">...</Pivot>

... появляется сообщение об ошибке: "Присоединяемое свойство 'MenuForeground' не найдено в типе 'PivotProperties'.

Как это исправить?

Ответы на вопрос(1)

Ваш ответ на вопрос