2017-08-08 9 views
0

J'utilise une bibliothèque externe, d3 qui a une classe nommée VerticalAxisTitle qui est dérivée de ContentControl.Ajout d'une image dans un ContentControl

En tant que tel, j'espérais placer une image en VerticalAxisTitle via:

<d3:VerticalAxisTitle x:Name="verticalAxisTitle"> 
    <StackPanel> 
     <Image Source="{Binding Image}" /> 
    </StackPanel> 
</d3:VerticalAxisTitle> 

et le code derrière:

verticalAxisTitle.Content = new ImageInfo() 
{ 
    Image = new BitmapImage(new System.Uri(@"C:\test.bmp", UriKind.Absolute)) 
}; 

public class ImageInfo 
{ 
    public ImageSource Image { get; set; } 
} 

Cependant, ce que je reçois comme un affichage est tout simplement le nom de la classe ImageInfo. Comment puis-je faire ressortir l'image?

Répondre

1

Essayez de définir la propriété ContentTemplate:

<d3:VerticalAxisTitle x:Name="verticalAxisTitle"> 
    <d3:VerticalAxisTitle.ContentTemplate> 
     <DataTemplate> 
      <StackPanel> 
       <Image Source="{Binding Image}" /> 
      </StackPanel> 
     </DataTemplate> 
    </d3:VerticalAxisTitle.ContentTemplate> 
</d3:VerticalAxisTitle> 
+0

Dans ce cas, comment le code-behind ressembler? –

+0

Définissez la propriété Content sur l'objet ImageInfo comme vous l'avez fait auparavant. – mm8