如何将一个命令添加到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
事件上。