65 votes

Comment ajouter une commande à un TextBlock WPF ?

J'aimerais pouvoir cliquer sur un bloc de texte et lui faire exécuter une commande. Est-ce possible? (sinon, est-ce que je fais juste un bouton transparent dessus ou quelque chose du genre ?)

143voto

Kris Points 4405

Vous pouvez utiliser un InputBinding .

 <TextBlock Text="Hello">
    <TextBlock.InputBindings>
        <MouseBinding Command="" MouseAction="LeftClick" />
    </TextBlock.InputBindings>
</TextBlock>

Edit : Le lien hypertexte vaut probablement aussi la peine d'être mentionné.

 <TextBlock><Hyperlink Command="" TextDecorations="None" Foreground="Black">Hello</Hyperlink></TextBlock>

25voto

H.B. Points 76352

Vous ne faites pas un bouton transparent dessus, vous mettez le TextBlock en elle:

 <Button>
    <Button.Template>
        <ControlTemplate TargetType="Button">
            <ContentPresenter />
        </ControlTemplate>
    </Button.Template>
    <TextBlock Text="Lorem Ipsum"/>
</Button>

-1voto

Rhyous Points 2163

Comme ce type le décrit ici :

http://sachabarber.net/?p=514

qui renvoie également au message de ce type ici :

http://marlongrech.wordpress.com/2008/12/13/attachedcommandbehavior-v2-aka-acb/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X