我有100个html文件。我知道如何为单个xaml页面初始化<phone:webBrowser />
。但是,如果我使用这种方法,那么我需要通过初始化webbrowser来创建100个xaml页面,然后我可以通过按钮点击导航该xaml页面。但是,浪费时间。
所以,我在<phone:webBrowser>
中创建了webview.xaml
,在chapters.xaml
中创建了100个按钮
我要问的是,如果在button1
中chapters.xaml
被按下,则chapter1.html
中应webview.xaml
开启button2
。如果在chapters.xaml
中按下chapter2.html
,webview.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页面?在此先感谢。!!!
答案 0 :(得分:1)
您可以通过设置其Tag
属性
<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
。