如何将一个命令添加到WPF TextBlock?

我想能够点击一个文本块,并运行一个命令。 这可能吗? (如果不是,我只是以某种方式做了一个tranparentbutton,或者什么?)

您可以使用InputBinding 。

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

编辑:超链接也许值得一提。

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

你不要在它上面做一个透明的button,你把TextBlock 放进去:

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

那么button将消耗您的点击和点击不会进一步到您的TextBlock 。 如果你不需要,那将是一个办法。 您可以修改文本块ControlTemplate,并添加button,为该button提供一个带有透明RectangleT的新ControlTemplate。 更好的解决scheme是使用一种方法来连接EventBehavior之类的事件并将其放在OnMouseLeftButtonDown事件上。