Как вызвать событие при нажатии на часть текста в текстовом блоке? - PullRequest
0 голосов
/ 03 апреля 2012

iHi, в моем приложении для Windows Phone в View у меня есть:

 <TextBlock x:Name="lblink" FontSize="15" Margin="30,0,24,0"  Height="30" Text="*use a email@mail.com if you are not the member"  TextWrapping="Wrap"  HorizontalAlignment="Left" />

Мне нужно сделать так: когда я нажимаю на текст: «email@mail.com», это должно бытьназывается событие

Как я могу решить эту проблему?

Ответы [ 3 ]

2 голосов
/ 03 апреля 2012

Итак, попробуйте использовать следующий код:

<StackPanel Orientation="Horizontal">
            <TextBlock Text="*use a "/>
            <TextBlock Text="email@mail.com" Tap="TextBlock_Tap"/>
            <TextBlock Text=" if you are not the member"/>

        </StackPanel>
2 голосов
/ 03 апреля 2012

Почему бы не использовать HyperlinkButton. Это позволяет вам установить текст в свойстве Content, а затем реализовать обработчик события Click.

В качестве альтернативы, вы можете использовать шаблон для кнопки управления:

<phone:PhoneApplicationPage.Resources>

    <ControlTemplate x:Key="MyButtonTemplate" TargetType="Button">
        <TextBlock x:Name="lblink" FontSize="15" Margin="30,0,24,0"  Height="30" Text="*use a email@mail.com if you are not the member"  TextWrapping="Wrap"  HorizontalAlignment="Left" />
    </ControlTemplate>

</phone:PhoneApplicationPage.Resources>

Что реализовано следующим образом:

<Button x:Key="MyButton" Template="{StaticResource MyButtonTemplate}" Click="MyButton_Click" />

Затем вы можете делать все, что вам нужно, в обработчике событий MyButton_Click.

1 голос
/ 03 июля 2014
                <TextBlock>
                    <Run Text="*use a " />
                    <Hyperlink Click="[click event]">
                        <Run Text="email@mail.com" />
                    </Hyperlink>
                    <Run Text=" if you are not the member" />
                </TextBlock>

Это дает вам кликабельный регион, который, я думаю, вы ищете.

...