Domanda

Ho un pulsante definito nel mio XAML che ha uno stile pulsante e un grafico vettoriale, è definito così:

    <Button
        Height="48"
        Width="48"
        mvp:Presenter.Action="CreateStudentApplication"
        HorizontalAlignment="Center"
        VerticalAlignment="Center"
        Grid.Row="5"
        Grid.Column="3"
        Style="{DynamicResource BaseButton2}">
        <ContentControl Template="{StaticResource ApplicationVector}"/>
    </Button>

Nel mio codice di codice, ho un metodo che aggiunge dinamicamente nuovi pulsanti simili a questo a uno stackpanel. In breve, fa qualcosa per la melodia:

            var button = new Button();
            button.Height = 48;
            button.Width = 48;
            button.Tag = x.ID;
            button.SetResourceReference(TemplateProperty, "ApplicationVector");
            button.SetResourceReference(StyleProperty, "BaseButton2");

Ora ecco la parte strana, visualizza solo la grafica vettoriale e nessun pulsante dietro di essa. Quando rimuovo la riga penultima (la linea con il riferimento vettoriale), visualizza il pulsante in stile come dovrebbe essere! Suppongo che impostare il modello stia preparando lo stile, tuttavia sembrano giocare amichevolmente in XAML. Ho anche provato a impostare ContentProperty Instidead di TemplateProperty, ma questo ha portato a una stringa di tipo. Qualche idea? Grazie!

È stato utile?

Soluzione

Il tuo XAML e il codice dietro non sono equivalenti. Nel XAML, stai impostando il Content Proprietà del pulsante per essere un ContentControl. Nel codice dietro, stai impostando il Template (o Content) proprietà per essere il ApplicationVector risorsa.

Dovresti impostare il Content Proprietà del pulsante per essere un'istanza di a ContentControl il cui, di chi Template La proprietà è impostata per essere tuo ApplicationVector risorsa.

var contentControl = new ContentControl();
contentControl.SetResourceReference(TemplateProperty, "ApplicationVector");
button.Content = contentControl;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top