ProgramingTip

WPF TextBlock에 명령을 추가하는 방법은 무엇입니까?

bestdevel 2020. 11. 26. 19:43
반응형

WPF TextBlock에 명령을 추가하는 방법은 무엇입니까?


텍스트 블록을 클릭하고 명령을 실행하고 싶습니다. 이것이 가능한가? (아니면 어떻게 든 그 위에 투명한 버튼을 만들지 보장 할 수 있습니까?)


InputBinding을 사용할 수 있습니다 .

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

편집 : 하이퍼 링크도 참조 할 가치가 있습니다.

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

그 위에 투명한 버튼을 만들지 않고 그 안에 TextBlock을 습니다.

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


버튼은 클릭을 소비하고 클릭은 TextBlock. 그게 필요하지 않다면 그렇게하는 방법이 될 것입니다. 텍스트 블록 ControlTemplate을 수정하고 버튼을 추가하여 버튼에 투명한 RectangleT가있는 새 ControlTemplate을 제공 할 수 있습니다. 더 좋은 해결책은 EventBehavior같은 이벤트에 명령을 연결 하고 OnMouseLeftButtonDown이벤트 에 배치 하는 방법을 사용하는을 구석으로 입니다.

참고 URL : https://stackoverflow.com/questions/7003507/how-to-a-add-a-command-to-a-wpf-textblock

반응형