单击相应按钮时,在单个Web浏览器中显示多个html页面?

时间:2013-08-14 07:32:46

标签: c# xaml navigation

我有100个html文件。我知道如何为单个xaml页面初始化<phone:webBrowser />。但是,如果我使用这种方法,那么我需要通过初始化webbrowser来创建100个xaml页面,然后我可以通过按钮点击导航该xaml页面。但是,浪费时间。

所以,我在<phone:webBrowser>中创建了webview.xaml,在chapters.xaml中创建了100个按钮

我要问的是,如果在button1chapters.xaml被按下,则chapter1.html中应webview.xaml开启button2。如果在chapters.xaml中按下chapter2.htmlwebview.xaml应在webview.xaml中打开。像这样,所有100个文件都应该在chapters.xaml中通过chapters.xaml中的相应按钮点击打开。怎么打开?

我的<Button Content="Chapter 1" Click="webview"/> <Button Content="Chapter 2" Click="webview"/> /.../ <Button Content="Chapter 100" Click="webview"/> 页面:

chapters.cs

我的private void webview(object sender, RoutedEventArgs e) { NavigationService.Navigate(new Uri("/webview.xaml", UriKind.Relative)); } 页面:

webview.xaml

我的<phone:WebBrowser x:Name="browser" IsScriptEnabled="True" Margin="-12,0,-11,0" /> 页面:

webview.cs

我不想在{{1}}页面中给出什么,请帮助我在cs页面中给出什么来打开html页面?在此先感谢。!!!

1 个答案:

答案 0 :(得分:1)

您可以通过设置其Tag属性

,为每个按钮附加相应的HTML文件名
<Button Content="Chapter 42" Tag="chapter42.html" Click="webview"/>

然后使用WebBrowser控件的Navigate方法:

private void webview(object sender, RoutedEventArgs e)
{
    var button = (Button)sender;
    var htmlFile = (string)button.Tag;
    browser.Navigate(new Uri(htmlFile, UriKind.Relative));
}

当然,您也可以从Button的Content字符串构造正确的文件名(至少看起来像)。然后就没有必要设置Tag