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>