0

IHI,在查看我的Windows Phone應用程序,我有:如何在文本塊中單擊部分文本時調用事件?

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

我需要這樣的功能:當我點擊的文字:「[email protected]」它應該被稱爲事件

我該如何解決這個問題?

+0

你想把這個事件重定向到另一個頁面嗎? – 2012-04-03 11:05:14

+0

不應該填補另一個文本塊 – revolutionkpi 2012-04-03 11:07:47

+0

經過這一點,有一個想法 http://stackoverflow.com/questions/6193027/selecting-the-tapped-on-word-on-a-single-click-in -textbox – 2012-04-03 11:25:05

回答

2

所以,請嘗試使用下面的代碼:

<StackPanel Orientation="Horizontal"> 
      <TextBlock Text="*use a "/> 
      <TextBlock Text="[email protected]" Tap="TextBlock_Tap"/> 
      <TextBlock Text=" if you are not the member"/> 

     </StackPanel> 
+0

例如,如果其他文本是靜態的,您可以使用Email屬性將其設置爲UserControl並在需要時進行更改。 – 2012-04-03 12:01:02

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 protected] 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事件處理程序。

+0

由於理解的問題,作者希望當用戶單擊電子郵件地址時觸發事件。 – 2012-04-03 11:46:48

+0

公平點羅馬。 HyperlinkBut​​ton或Button方法可以很容易地包含在水平堆棧面板的一部分中,其內容僅設置爲電子郵件地址。 – 2012-04-03 11:53:23

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

這爲您提供可點擊的區域,我認爲你正在尋找。

相關問題