none
Style per Code erstellen möglich? RRS feed

  • Allgemeine Diskussion

  • Ich muss zur Laufzeit einen Style für einen Button erstellen. Ich habe aber ein Problem beim Zuweisen des Control-Templates:
                Style style = new Style(typeof(Button));
                style.Setters.Add(new Setter(Button.SnapsToDevicePixelsProperty, true));
                style.Setters.Add(new Setter(Button.OverridesDefaultStyleProperty, true));
    
                ControlTemplate templ = new ControlTemplate(typeof(Button));
                TemplateContent templCon = new TemplateContent();
                templ.Template = new Border() //Geht nicht :(
                {
                    Name = "Border",
                    BorderThickness = new Thickness(0),
                    BorderBrush = Brushes.Transparent,
                    Background = new ImageBrush(WinIcon.GetIconImage(WinIcon.SpecialIcons.Folder_Up, 23)),
                    Child = new ContentPresenter()
                    {
                        Margin = new Thickness(2),
                        HorizontalAlignment = System.Windows.HorizontalAlignment.Center,
                        VerticalAlignment = System.Windows.VerticalAlignment.Center,
                        RecognizesAccessKey = true,
                    },
                };
    
                style.Setters.Add(new Setter(Button.TemplateProperty, templ));
    So wäre die Stelle im XAML-Code:
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border x:Name="Border" BorderThickness="0" BorderBrush="Transparent" Background="MyBackground">
                            <ContentPresenter Margin="2"
                                              HorizontalAlignment="Center"
                                              VerticalAlignment="Center"
                                              RecognizesAccessKey="True"/>
                        </Border>
    Wie erstelle ich ein ContentTemplate, welches en Border als Child aktzeptiert?


    Koopakiller - http://koopakiller.ko.ohost.de/


    Samstag, 9. Juni 2012 12:21
    Moderator

Alle Antworten