מדריך Windows Phone – פקדי דפדפן
במערכת Windows Phone ישנם שני פקדים המאפשרים אינטגרציה מול הדפדפן המובנה. הפקדים הינם HyperlinkButton ו WebBrowser. בפרק זה נכיר את שניהם.
הפקד HyperlinkButton
פקד מסוג HyperlinkButton מאפשר לכם לנווט מהאפליקציה שלכם לדף כלשהוא באינטרנט, או אפילו לחלק אחר באפליקציה שלכם. בנוסף, אותו כפתור יהיה בעל מראה של לינק.
כל מה שצריך לעשות כדי לנווט לדף אחר הוא לקבוע את התכונה NavigateUri לכתובת המבוקשת. שימו לב, אין צורך בטיפול מיוחד אירוע Click. התכונה TargetName קובעת את חלון הדפדפן שבו צריכה להיפתח הכתובת המבוקשת.
לדוגמא, הקוד הבא יוצר פקד מסוג HyperlinkButton שלחיצה עליו תפתח אתר שבו ניתן ללמוד על טכנולוגיות WPF ו Silverlight בחלון דפדפן חדש:
<HyperlinkButton
Content="Click here to learn about Silverlight"
NavigateUri="http://blogs.microsoft.co.il/blogs/arik"
TargetName="_blank"
Margin="10,60,0,0" />
תוצאת הריצה שנקבל:
לאחר לחיצה על הכפתור :
הערה: ניתן לנווט לדפים אחרים באפליקציה שלנו ע"י שימוש בקוד הבא:
<HyperlinkButton
Content="Click here to see the image page"
NavigateUri="/ImagePage.xaml" />
על הוספת דפים חדשים לאפליקציה נלמד בהמשך המדריך.
הפקד WebBrowser
הפקד WebBrowser מאפשר לכם לשלב תוכן מתוך רשת האינטרנט ע"י הכנסת דפדפן לתוך האפליקציה שלכם.
בדוגמא הבא אנו יוצרים אפליקציה המאפשרת למשתמש לגלוש לדפים כרצונו, בלי לצאת מהאפליקציה:
<phone:PhoneApplicationPage
x:Class="PhoneDemo.MainPage"
>="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
>:x="http://schemas.microsoft.com/winfx/2006/xaml"
>:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
>:d="http://schemas.microsoft.com/expression/blend/2008"
>:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
>:local="clr-namespace:PhoneDemo"
mc:Ignorable="d"
d:DesignWidth="480"
d:DesignHeight="800"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
Orientation="Portrait"
SupportedOrientations="Portrait">
<Grid>
<Grid.RowDefinitions>
<RowDefinition
Height="Auto" />
<RowDefinition
Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="*" />
<ColumnDefinition
Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox
x:Name="textBox"
Grid.Row="0"
Grid.Column="0" />
<Button
Grid.Row="0"
Grid.Column="1"
Content="Go"
Click="Button_Click" />
<phone:WebBrowser
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2"
x:Name="webBrowser" />
</Grid>
</phone:PhoneApplicationPage>
שימו לב שיש לוודא שמוגדר לכם ה nXML namespace המתאים (מודגש).
כדי לגרום לפקד WebBrowser להציג תוכן מדף מסוים יש להשתמש בפונקציה Navigate שלו מתוך הקוד:
using System;
using System.Windows;
using Microsoft.Phone.Controls;
namespace PhoneDemo
{
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
webBrowser.Navigate(new Uri("http://" + textBox.Text));
}
}
}
להלן תוצאת הרצת התוכנית, לאחר הכנסת כתובת ולחיצה על הכפתור:
תגובות בפייסבוק