2009-03-09 9 views
3

Ich habe ein Bild, das ich in meiner Anwendung an mehreren Stellen verwenden muss. Ich möchte das Bild nur einmal in einem Ressourcenwörterbuch definieren, und meine anderen XAML-Dateien haben genau diese Definition. Ich kann Das Einzige, was ich nicht herausfinden konnte, ist, wie ich etwas referenzieren soll, das als ein Xaml-Element definiert ist, anstatt als Attribut innerhalb eines Xaml-Attributs.xaml Wie referenziere ich eine dynamische Ressource nicht als Attribut, sondern als Element

Hier ist meine Resource

# resourceDictionary.xaml 

<LinearGradientBrush x:Key="MyGradient" StartPoint="0,0.5" EndPoint="1,0.5"> 
    <GradientStop Color="#A5000000" Offset="0"/> 
    <GradientStop Color="#00000000" Offset="1"/> 
</LinearGradientBrush> 

<Image x:Key="MyImage" Source="MyGlyph.png" Width="20" Height="20" /> 

Also in meinem XAML Ich weiß, wie die Steigung als Attribut eines Steuerobjekts referenzieren

<TextBlock Text="Sample Text" Background="{DynamicResource MessageGradient}"/> 

Aber was ich will, um herauszufinden sein, wie man referenziere das Bild, das ein vollständiges Kontrollobjekt ist. In diesem Beispiel wird nur eine Schaltfläche mit dem Text "{DynamicResource MyImage}" in der Schaltfläche anstelle des Bildes erstellt.

<!-- Want MyImage to be content of the button --> 
<Button> 
    {DynamicResource MyImage} 
</Button> 

Gibt es eine einfache Möglichkeit, dies zu tun, oder muß ich eine Kontrolle Vorlage erstellen, die nur mein Bild enthält, und dann in meiner XAML hat einen Image-Tag, das die Steuer Vorlage verwendet?

Antwort

5

Da Sie das Bild zu sein, der Inhalt der Schaltfläche wollen, sollten Sie in der Lage sein, das zu der Content Eigenschaft zu binden:

<Button Content="{DynamicResource MyImage}" /> 
0

Wenn Sie ein Bild als Hintergrund jeglicher Kontrolle zu bringen versuchen

<Button Content="My Button"> 
     <Button.Background> 
      <ImageBrush ImageSource="MyGlyph.png"/> 
     </Button.Background> 
    </Button> 
3
<!-- Want MyImage to be content of the button --> 
<Button> 
    <DynamicResource ResourceKey="MyImage"/> 
</Button> 
Verwandte Themen