none
Charger dynamiquement une image dans un bouton (issu d'un template) [VB][WPF] RRS feed

  • Discussion générale

  • Bonjour,

    Alors voila: avec un checkbox (issu d'un template) qui contient un bloc image vide, comment puis-je faire pour y charger l'image source?

    <Window.Resources>
    		<Style x:Key="LAST10" TargetType="{x:Type CheckBox}">
    			<Setter Property="BorderThickness" Value="1"/>
    			<Setter Property="Template">
    				<Setter.Value>
    					<ControlTemplate TargetType="{x:Type CheckBox}">
    						<Grid HorizontalAlignment="Left" VerticalAlignment="Top">
    							<Border HorizontalAlignment="Left" VerticalAlignment="Top" CornerRadius="8" Background="#FF0085C8" x:Name="Bord" Height="120" Width="120">
    								<Image x:Name="snap" Stretch="Uniform" Margin="5"/>
    							</Border>
    							<ContentPresenter HorizontalAlignment="Center" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="Center"/>
    						</Grid>
    					</ControlTemplate>
    				</Setter.Value>
    			</Setter>
    			<Setter Property="Foreground" Value="#FF4D7194"/>
    			<Setter Property="FontSize" Value="9"/>
    			<Setter Property="FontFamily" Value="Verdana"/>
    		</Style>
    	</Window.Resources>

    Voici donc le template du checkbox à utiliser..avec un bloc image "snap" prêt à recevoir la source.
    Mon problème n'est pas de définir la source:

    Dim bitmap As New BitmapImage()
    bitmap.BeginInit()
    bitmap.UriSource = New Uri(pathToImage)
    bitmap.EndInit()

    Mais plutôt de savoir comment je vais "parler" au bouton (que l'on appellera "butt") pour arriver à son bloc image défini dans le style.
    Je sais que c'est faux, mais voici l'idée de ce que je cherche, un chemin tel que: butt.snap.source=bitmap

    Merci pour votre aide!!

    mardi 6 mars 2012 23:04

Toutes les réponses

  • Bonjour,

    Vous souhaitez modifier l'image par programmation, ou alors lors d'un événement sur le checkbox ? (par exemple survol de la souris).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    mercredi 7 mars 2012 21:40
    Modérateur
  • Par programmation. J'ai une quarantaine de bouton, tous basé sur le même "template" dans lesquels je veux juste adapter le contenu du bloc image.

    Ma question pourrait d'ailleurs être plus générique, en demandant:

    "D'une manière générale, comment fait-on pour s'adresser au contenu personnalisé d'un bouton!

    Merci!

    mardi 13 mars 2012 10:53