Windows Phone 7.1 HyperLinkButton Hatasi ve Cozumu
Windows Phone 7 uygulamanızda HyperLinkButton kullandınız ve NavigateUri özelliğine bir link verdiniz uygulamayı çalıştırıp HyperLinkButton' a tıkladığınız zaman hata alacaksınız. Çünkü Windows Phone' de HyperLinkButton' un TargetName özelliğini boş bırakamazsınız.
Test etmek için yeni bir Windows Phone Application açalım. İsmine wp_oneri_hyperlink verdim. ContentPanel isimli Grid' in içerisine bir adet HyperLinkButton ekleyelim ve HyperLinkButton' un NavigateUri özelliğine bir adres verelim. Örnek olarak http://www.mehmetx.com verdim.
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<HyperlinkButton Name="hyperlinkButton1"
Content="HyperlinkButton"
Height="30"
Width="200"
NavigateUri="http://www.mehmetx.com" />
</Grid>
Uygulamayı çalıştıralım, ekranın ortasında HyperLinkButton görünecek tıkladığımız zaman uygulama hata verecektir ve RootFrame_NavigationFailed event' i tetiklenecektir.
Bu hatayı geçmek için HyperLinkButton' un TargetName özelliğine değer atamamız gerekmektedir.
TargetName özelliğinin alabileceği değerler :
-
_blank
-
_media
-
_search
-
_parent
-
_self
-
_top
İlk 3 seçenek, açılacak sayfayı yeni boş bir pencereye yükler.
Sonraki 3 seçenek ise sayfayı link' in tıklandığı pencereye (aktif pencereye) yükler.
HyperLinkButton' un TargetName özelliğine bu değerlerden herhangi birini verelim. Örnek olarak _self verdim.
<HyperlinkButton Name="hyperlinkButton1"
Content="HyperlinkButton"
Height="30"
Width="200"
NavigateUri="http://www.mehmetx.com"
TargetName="_self"/>
Uygulamayı tekrar çalıştırıp HyperLinkButton' a tıklarsak, NavigateUri özelliğine verdiğimiz adres görüntülenecektir.
Örnek uygulamanın kaynak kodlarını buradan indirebilirsiniz.