2017-08-13 7 views
1

Je souhaite instancier deux contrôles (un Expander et un bouton) à partir de deux ControlTemplates. Ils sont ancrés dans un Dockpanel (droite et gauche). L'Expander est visible et fonctionne correctement, mais le bouton n'est pas visible. Le ControlTemplate du bouton dans App.xaml:Le bouton WPF de Controltemplate n'est pas visible

... 
<ControlTemplate x:Key="OpenFileButton" TargetType="{x:Type Button}"> 
     <Image Name="OpenFileButton" Source="F:\AudioNodeGUI_XAML\images\filebutton.jpg"> 

     </Image> 
</ControlTemplate> 
... 

Et l'instanciation dans un usercontrol:

<Grid> 
    <Image Source="F:\AudioNodeGUI_XAML\images\FileInputNode.jpg"/> 
    <DockPanel Name="dock" Width="151" Height="20" Margin="27,53,122,139"> 
     <Expander Name="expander" Template="{StaticResource FileExpander}" Height="20" Width="41" PreviewMouseLeftButtonUp="expand" DockPanel.Dock="Left"> 
      <ListView Name="usedFiles" Background="Black" BorderBrush="Transparent" BorderThickness="0" Width="140" Height="120" Opacity="0.5"> 
      </ListView> 
     </Expander> 
     <Button Name="OpenFileButton" Template="{StaticResource OpenFileButton}" DockPanel.Dock="Right" /> 
    </DockPanel> 
</Grid> 

Mais le bouton n'est pas visible, ni dans le concepteur (juste le contour) ni en exécution. Qu'est-ce que je fais mal?

+0

essayez d'ajouter une taille au bouton – zamoldar

+0

Familiarisez-vous avec les inspecteurs de WPF comme WPF Snoop. Ils permettent d'inspecter l'arbre visuel, de jouer avec les valeurs des propriétés et de corriger beaucoup d'erreurs. – Maxim

Répondre

1

Je suppose que votre problème est juste un chemin incorrect vers le fichier image. Malheureusement, vous n'aurez aucune astuce sur ce type d'erreur ni dans le concepteur ni dans la fenêtre de sortie. Cependant si vous avez ReSharper il devrait mettre en évidence le chemin vers le fichier s'il n'existe pas

+0

Le chemin est correct, je l'ai vérifié. – Ben

+0

J'ai résolu le problème, comme j'ai enlevé la marge et l'ai réécrit. Je n'ai aucune idée, où le problème était en réalité. – Ben