2012-08-05 49 views
0

我已經爲wp7創建了一個web瀏覽器應用程序。我在應用程序欄菜單項中添加了6個標籤。但現在我想分別在用戶控制頁面中的這6個選項卡,如果我點擊選項卡2或任何選項卡上,它應該現在工作。如何使用這些標籤的用戶控件

MainPage.xaml中

<Grid x:Name="LayoutRoot"> 
<Grid.RowDefinitions> 
<RowDefinition Height="Auto" /> 
<RowDefinition Height="*" /> 
</Grid.RowDefinitions> 
<TextBox x:Name="UrlTextBox" 
    KeyDown="UrlTextBox_KeyDown" /> 
<Grid x:Name="BrowserHost" 
    Grid.Row="1" /> 
</Grid> 

<phone:PhoneApplicationPage.ApplicationBar> 
<shell:ApplicationBar> 
<shell:ApplicationBar.MenuItems> 
    <shell:ApplicationBarMenuItem Text="1" 
            Click="TabMenuItem_Click" /> 
    <shell:ApplicationBarMenuItem Text="2" 
            Click="TabMenuItem_Click" /> 
    <shell:ApplicationBarMenuItem Text="3" 
            Click="TabMenuItem_Click" /> 
    <shell:ApplicationBarMenuItem Text="4" 
            Click="TabMenuItem_Click" /> 
</shell:ApplicationBar.MenuItems> 
</shell:ApplicationBar> 
</phone:PhoneApplicationPage.ApplicationBar> 

MainPage.xaml.cs中

public partial class MainPage : PhoneApplicationPage 
{ 
private const int NumTabs = 4; 

private int currentIndex; 
private string[] urls = new string[NumTabs]; 
private WebBrowser[] browsers = new WebBrowser[NumTabs]; 

public MainPage() 
{ 
InitializeComponent(); 
ShowTab(0); 
} 

private void ShowTab(int index) 
{ 
this.currentIndex = index; 
UrlTextBox.Text = this.urls[this.currentIndex] ?? ""; 
if (this.browsers[this.currentIndex] == null) 
{ 
    WebBrowser browser = new WebBrowser(); 
    this.browsers[this.currentIndex] = browser; 
    BrowserHost.Children.Add(browser); 
} 
for (int i = 0; i < NumTabs; i++) 
{ 
    if (this.browsers[i] != null) 
    { 
     this.browsers[i].Visibility = i == this.currentIndex ? Visibility.Visible : Visibility.Collapsed; 
    } 
} 
} 

private void UrlTextBox_KeyDown(object sender, KeyEventArgs e) 
{ 
if (e.Key == Key.Enter) 
{ 
    Uri url; 
    if (Uri.TryCreate(UrlTextBox.Text, UriKind.Absolute, out url)) 
    { 
     this.urls[this.currentIndex] = UrlTextBox.Text; 
     this.browsers[this.currentIndex].Navigate(url); 
    } 
    else 
     MessageBox.Show("Invalid url"); 
} 
} 

private void TabMenuItem_Click(object sender, EventArgs e) 
{ 
int index = Int32.Parse(((ApplicationBarMenuItem)sender).Text) - 1; 
ShowTab(index); 
} 
} 

像下面的瀏覽器有它。 enter image description here

任何人都可以幫助我嗎?謝謝你的幫助!

回答

0

使用數據透視頁面,並將輕擊事件處理函數(類似於您的TabMenuItem_Click)關聯到輕觸標題上的輕擊手勢。

或簡單地使用帶有標題的數據透視頁面作爲1,2,3,4根據您的問題。在與事件pivot_selectionchanged相關聯的事件處理程序中檢查數據透視表索引,並相應地完成您的工作。

我希望這是你要找的,否則請解釋一下你的問題進一步

+0

不,我不希望它是一個樞軸。我想要上面像wp7 IE或UC瀏覽器正在使用創建新標籤。我已將圖片添加到我的帖子中。 – 2012-08-06 13:53:36

+0

本地瀏覽器不支持此UC。你將不得不創建這個自定義的UC,並點擊按鈕/項目將激活該控件 或者您可以使用彈出控件並在類似的激情中設計它 – 2012-08-07 09:54:27

+0

我知道我必須創建自己的用戶控件,但是新手用戶控制,這就是爲什麼我只需要交易或類似於上述的任何樣本。 – 2012-08-07 14:39:06

0

如果你仍然想創建一個用戶控件有沒有這麼強硬。在您的項目文件夾中添加新的項目作爲Windows手機用戶控制。在創建的新頁面中,根據需要輸入用戶界面的xaml代碼(這與任何其他xaml頁面相似)及其在代碼後面的行爲。

在您的炫魅

添加以下代碼行
<電話:的PhoneApplicationPage的xmlns:意見= 「CLR的命名空間:ProjectName.NameSpace」>

則指可以控制使用此語句 <觀點:控件> </views:controlName>

我希望這有助於。讓我知道如果你需要別的東西

相關問題