我在寫一個windows-phone 7應用程序。我有一個包含ListBox中包含的TextBlock列表的頁面。我想要的行爲是,單擊其中一個TextBlock(s)時,頁面被重定向到一個不同的頁面,將該TextBlock的Text作爲參數傳遞。在Silverlight中,如何將ListBox項目選擇綁定到Navigate事件?
這是xaml代碼:(這裏我綁定到一個字符串集合,並且事件MouseLeftButtonDown附加到每個TextBlock)。
<ListBox x:Name="List1" ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock MouseLeftButtonDown="List1_MouseLeftButtonDown" Text="{Binding}"
FontSize="20"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
但這對我來說並不成功。我已經嘗試將MouseLeftButtonDown事件附加到單獨的TextBox(es)或ListBox。我一旦使用NavigationService.Navigate(uri)就會引發異常。應該附加哪個事件?是否應將事件附加到單個項目或整個列表中?
我找到了一種解決此問題的方法,即使用HyperlinkButton(s)填充ListBox。但是,我想了解爲什麼TextBox方法不起作用。
這是我第一次嘗試使用Silverlight,所以我可能會在這裏丟失一些基本的東西。