如何在单击文本块中的部分文本时调用事件?

时间:2012-04-03 10:58:47

标签: c# silverlight windows-phone-7 silverlight-4.0 silverlight-3.0

iHi,在我的Windows Phone应用程序中,我有:

 <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 个答案:

答案 0 :(得分:2)

为什么不使用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 :(得分:2)

因此,请尝试使用以下代码:

<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 :(得分:1)

                <TextBlock>
                    <Run Text="*use a " />
                    <Hyperlink Click="[click event]">
                        <Run Text="email@mail.com" />
                    </Hyperlink>
                    <Run Text=" if you are not the member" />
                </TextBlock>

这为您提供了我认为您正在寻找的可点击区域。