J'ai créé un contrôle personnalisé pour ImageButton commeProblème liant image propriété de dépendance Source
<Style TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Local:ImageButton}">
<StackPanel Height="Auto" Orientation="Horizontal">
<Image Margin="0,0,3,0" Source="{Binding ImageSource}" />
<TextBlock Text="{TemplateBinding Content}" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
classe ImageButton ressemble
public class ImageButton : Button
{
public ImageButton() : base() { }
public ImageSource ImageSource
{
get { return base.GetValue(ImageSourceProperty) as ImageSource; }
set { base.SetValue(ImageSourceProperty, value); }
}
public static readonly DependencyProperty ImageSourceProperty =
DependencyProperty.Register("Source", typeof(ImageSource), typeof(ImageButton));
}
Cependant, je ne suis pas en mesure de lier le ImageSource à l'image : (Ce code est dans l'interface utilisateur du dossier et de l'image est dans le répertoire de ressources)
<Local:ImageButton x:Name="buttonBrowse1" Width="100" Margin="10,0,10,0"
Content="Browse ..." ImageSource="../Resources/BrowseFolder.bmp"/>
Mais si je prends une image simple, elle sera affichée si la même source est spécifiée. Quelqu'un peut-il me dire ce qui doit être fait?
le conflit du nom provoque des problèmes. –
Le remplacement de la liaison avec TemplateBinding génère une erreur de temps de compilation car Impossible de créer une instance de type 'TemplateBindingExtension'. – Archie
voir mon edit .... – gehho