Estaba probando propiedades adjuntas y desencadenadores de estilo con la esperanza de obtener más información al respecto. me escribió una muy simple aplicación de Windows WPF con una propiedad asociada:Actualización de propiedad adjunta personalizada en el disparador de estilo con Setter
public static readonly DependencyProperty SomethingProperty =
DependencyProperty.RegisterAttached(
"Something",
typeof(int),
typeof(Window1),
new UIPropertyMetadata(0));
public int GetSomethingProperty(DependencyObject d)
{
return (int)d.GetValue(SomethingProperty);
}
public void SetSomethingProperty(DependencyObject d, int value)
{
d.SetValue(SomethingProperty, value);
}
y yo estaba tratando de actualizar el 'algo' propiedad asociada con un desencadenador de propiedad se define en la sección de estilo de botón:
<Window x:Class="TestStyleTrigger.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:TestStyleTrigger;assembly=TestStyleTrigger"
Title="Window1" Height="210" Width="190">
<Window.Resources>
<Style x:Key="buttonStyle" TargetType="{x:Type Button}">
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="local:Window1.Something" Value="1" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Button Style="{StaticResource buttonStyle}"></Button>
</Window>
Sin embargo, seguí recibiendo siguiente error de compilación:
error MC4003: No se puede resolver la propiedad de estilo 'Algo'. Verifique que el tipo propietario sea TargetType del estilo o use la sintaxis Class.Property para especificar la propiedad. Línea 10 Posición 29.
No puedo entender por qué me da este error porque utilicé la sintaxis 'Clase.Propiedad' en la etiqueta de la sección. ¿Alguien puede decirme cómo puedo solucionar este error de compilación?
Ya tenía una chica totalmente estática para mi AttachedProperty, también con el Get and Set correcto. Aunque tenía exactamente la misma excepción que el OP, también se puede resolver eliminando la especificación del ensamblado en el espacio de nombres (que en mi caso fue agregado automáticamente por ReSharper). +1 – LuckyLikey