1 votes

Utilisez AttachedProperty dans Style dans ControlTemplate

Voici mon application simple :

            <Setter Property="Button.Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Border BorderBrush="Blue"
                                BorderThickness="3"
                                Background="Black"
                                CornerRadius="{Binding app:Extras.CornerRadius}"
                                >                            
                        </Border>
                        </ControlTemplate>
                </Setter.Value>
            </Setter>

        Bouton

Voici ma AttachedProperty :

namespace WpfApplication1
{
    public class Extras
    {
        public static readonly DependencyProperty CornerRadiusProperty = DependencyProperty.RegisterAttached(
          "CornerRadius",
          typeof(double),
          typeof(Button),
          new FrameworkPropertyMetadata(1.0d, FrameworkPropertyMetadataOptions.AffectsRender)
        );

        public static void SetCornerRadius(UIElement element, double value)
        {
            element.SetValue(CornerRadiusProperty, value);
        }
        public static double GetCornerRadius(UIElement element)
        {
            return (double)element.GetValue(CornerRadiusProperty);
        }

    }
}

CornerRadius="{Binding app:Extras.CornerRadius}" cela ne fonctionne bien sûr pas. Comment puis-je obtenir la valeur à partir d'ici app:Extras.CornerRadius="10"

Merci d'avance!

2voto

Thomas Levesque Points 141081

Utilisez un TemplateBinding plutôt qu'un Binding :


D'accord, essayez cela alors :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X