propiedad adjunta personalizada no encontrada
Quiero implementar una nueva propiedad (llamada "MenuForeground") para el elemento pivote, para cambiar el color del encabezado PivotItem a través de un ControlTemplate definido.
Por lo tanto, creé una nueva clase para la propiedad personalizada, agregué el #include en el archivo xaml.h de código subyacente necesario y definí un nuevo espacio de nombres ("xamlns: cap") de acuerdo con el espacio de nombres de la propiedad personalizada.
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);
}
Para usar la nueva propiedad para un elemento pivote, declare un nuevo espacio de nombres xml en el elemento raíz como el siguiente
<Page
// ...
xmlns:cap="clr-namespace:CustomAttachedProperties">
Pero si trato de usar la nueva propiedad ...
<Pivot x:Name="pivot" cap:PivotProperties.MenuForeground="Red">...</Pivot>
... aparece un error que dice: "La propiedad adjunta 'MenuForeground' no se encontró en el tipo 'PivotProperties'.
¿Cómo arreglar eso?