c# wpf xaml command textblock

c# - Cómo agregar un comando a un WPF TextBlock?



textblock wpf (3)

Me gustaría poder hacer clic en un bloque de texto y hacer que ejecute un comando. es posible? (Si no, ¿de alguna manera hago un botón transparente sobre él o algo así?)


Bueno, el botón consumiría su clic y el clic no iría más allá de su TextBlock . Si no necesitas eso, esa sería una forma de hacerlo. Puede modificar el bloque de texto ControlTemplate y agregar el botón, dando al botón un nuevo ControlTemplate con un RectangleT transparente. Una solución más agradable sería utilizar una forma de conectar comandos a eventos como EventBehavior y ponerlo en el evento OnMouseLeftButtonDown .


No haces un botón transparente sobre él, pones el TextBlock en él:

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


Puedes usar un InputBinding .

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

Editar: también vale la pena mencionar el hipervínculo.

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