第一個(gè)wp應(yīng)用程序:迷你瀏覽器
關(guān)注wp很久了,一直都想加入到wp開(kāi)發(fā)的陣營(yíng)中來(lái),今天終于有了時(shí)間開(kāi)始自己的wp開(kāi)發(fā)之旅。下面是我的第一個(gè)wp7應(yīng)用迷你瀏覽器
首先打開(kāi)Microsoft Visual Studio 2010 Express for Windows Phone
開(kāi)始新建項(xiàng)目
選擇Silverlight for Windows Phone 然后選擇 Windows PhoneApplication
我們把項(xiàng)目為起名為:MiniBrowser 點(diǎn)擊確定會(huì)出現(xiàn)下面的窗體
我們選擇 Windows Phone OS 7.1
按下確定這樣子工程就創(chuàng)建好了。下面開(kāi)始我們的設(shè)計(jì)了。
1.設(shè)置標(biāo)題的屬性,選擇我的應(yīng)用程序
右鍵選中屬性
把Text屬性的值修改為“我的第一個(gè)Windows Phone 程序”
選中頁(yè)面名稱右鍵選中屬性
把Text值修改為“迷你瀏覽器“
可以看到設(shè)計(jì)圖變?yōu)?/p>
在迷你瀏覽器的下方添加一個(gè)TextBox控件
選中TextBox 右鍵選中屬性
把下面的屬性設(shè)置為
屬性值
Texthttp://www.wpdever.com
HeightAuto
WidthAuto
HorizontalAlignmentStretch
VerticalAlignmentTop
在TextBox右邊添加一個(gè)Button控件并把屬性設(shè)為
屬性值
ContentGo
HeightAuto
WidthAuto
HorizontalAlignmentRight
VerticalAlignmentTop
在TextBox控件的下方區(qū)域添加一個(gè)WebBrowser 控件,并填充滿下方區(qū)域
添加完控件之后就完成了設(shè)計(jì)
下面是設(shè)計(jì)的圖
雙擊按鈕為按鈕添加事件處理
在處理事件中添加如下代碼
string s_site = textBox1.Text;
if (!s_site.Contains("http://"))
s_site = "http://"+s_site;
webBrowser1.Navigate(newUri(s_site, UriKind.Absolute));
這樣整個(gè)工作就完成了。運(yùn)行來(lái)看看
通過(guò)調(diào)整,我們看看橫版的效果
附上代碼
C#
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Animation;
- using System.Windows.Shapes;
- using Microsoft.Phone.Controls;
- namespace MiniBrowser
- {
- publicpartialclassMainPage : PhoneApplicationPage
- {
- // 構(gòu)造函數(shù)
- publicMainPage()
- {
- InitializeComponent();
- }
- privatevoid button1_Click(objectsender, RoutedEventArgs e)
- {
- stringsite = textBox1.Text;
- if(!site.Contains("http://"))
- {
- site = "http://"+ site;
- }
- webBrowser1.Navigate(newUri(site, UriKind.Absolute));
- }
- }
- }
- Xaml:
- <phone:PhoneApplicationPage
- x:Class="MiniBrowser.MainPage"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
- xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
- FontFamily="{StaticResourcePhoneFontFamilyNormal}"
- FontSize="{StaticResourcePhoneFontSizeNormal}"
- Foreground="{StaticResourcePhoneForegroundBrush}"
- SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
- shell:SystemTray.IsVisible="True">
- <!--LayoutRoot 是包含所有頁(yè)面內(nèi)容的根網(wǎng)格-->
- <Grid x:Name="LayoutRoot" Background="Transparent">
- <Grid.RowDefinitions>
- <RowDefinition Height="173"/>
- <RowDefinition Height="595*"/>
- </Grid.RowDefinitions>
- <!--TitlePanel 包含應(yīng)用程序的名稱和頁(yè)標(biāo)題-->
- <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
- <TextBlock x:Name="ApplicationTitle" Text="我的第一個(gè)Windows Phone 程序" Style="{StaticResource PhoneTextNormalStyle}"/>
- <TextBlock x:Name="PageTitle" Text="迷你瀏覽器" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
- </StackPanel>
- <!--ContentPanel - 在此處放置其他內(nèi)容-->
- <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
- <TextBox Height="Auto" HorizontalAlignment="Stretch" Margin="0,0,120,0" Name="textBox1" Text="http://www.wpdever.com/" VerticalAlignment="Top" />
- <Button Content="Go" Height="Auto" HorizontalAlignment="Right" Name="button1" VerticalAlignment="Top"
- Width="Auto" Click="button1_Click"/>
- <phone:WebBrowser HorizontalAlignment="Stretch" Margin="0,84,0,0" Name="webBrowser1" VerticalAlignment="Stretch"
- Height="Auto" Width="Auto" />
- </Grid>
- </Grid>
- </phone:PhoneApplicationPage>
總結(jié):
這是我的第一個(gè)wp程序,剛開(kāi)始寫(xiě)的時(shí)候是參考msdn的教程來(lái)的,后來(lái)試著自己做了做,發(fā)現(xiàn)一個(gè)問(wèn)題,在編輯框直接輸入域名的時(shí)候程序會(huì)出錯(cuò),但是加上了前綴“http://”就不會(huì)了,于是我把代碼加上了一個(gè)判斷
- string s_site = textBox1.Text;
- if (!s_site.Contains("http://"))
- s_site = "http://"+s_site;
- webBrowser1.Navigate(newUri(s_site, UriKind.Absolute));
當(dāng)然這里沒(méi)有加上大寫(xiě)判斷。第一個(gè)程序就寫(xiě)這么多了??偟膩?lái)說(shuō)感覺(jué)還不錯(cuò)。