2011-01-05 4 views
0

Howdy, Я генерирую кучу текстовых блоков в StackPanel. Я хотел бы открыть другую страницу при нажатии на одно текстовое поле:OnClick on Сгенерированный текстовый блок

sp.Children.Add (новый TextBlock {Text = "Нажмите, я хочу открыть новый контент"});

Как я мог это сделать, это, вероятно, что-то с «триггерами», но я не мог найти ничего в Интернете: - /.

Спасибо!

ответ

1

Вы можете использовать Toolkit, чтобы добавить слушателя жестов для события Tap.

В качестве альтернативы вы можете использовать HyperlinkButton, так как здесь есть событие Click.

Edit:
Пример использования HyperlinkButton:

var sp = new StackPanel(); 

var hlb = new HyperlinkButton {Content = "click me"}; 
hlb.Click += hlb_Click; 

sp.Children.Add(hlb); 

ContentPanel.Children.Add(sp); 


private void hlb_Click(object sender, RoutedEventArgs e) 
{ 
    NavigationService.Navigate(new Uri("/AnotherPage.xaml", UriKind.Relative)); 
} 
+0

Я пробовал с HyperlinkButton: sp.Children.Add (новый HyperlinkButton {Content = "Нажмите меня pleeease", NavigateUri = "/MyTestView.xaml"}); но VS говорит, что он не может преобразовать String в URI. Я пытался использовать его (uri), но он тоже не работает. – theXs

+0

@theXs Используйте событие click для обработки навигации. 'NavigateUri' не работает с realtive URI –

+0

Я могу определить событие clickmode в определении гиперссылки. – theXs

0

Используйте событие TextBlock.ManipulationStarted, чтобы обнаружить его.

Смежные вопросы