我已将应用程序发布到Windows Phone Store,并收到以下警告:
应用政策:10.4.2优雅关机
该应用程序支持正常关闭。应用程序必须处理由任何托管或本机系统API引发的异常,并且不会意外关闭。意外关闭的应用程序无法通过认证。在处理异常后,应用必须继续运行并保持对用户输入的响应 预期结果
1.启动您的应用程序。 2.在整个应用程序中导航,然后关闭应用程序。 3.验证在关闭过程中未发生意外行为。 4.确认应用程序错误后应用程序仍然响应用户输入和用户交互。
我不确定这里的问题是什么,以及如何解决它。 I' M认为这可能与我的应用程序的内存占用量做的,但没有按那个'吨意义,因为它是唯一1 MB
[编者注:OP不是母语为英语的人,可能是问题的一部分]
代码:
List<WebBrowser> wbs = new List<WebBrowser>();
List<PivotItem> pis = new List<PivotItem>();
List<Uri> uris = new List<Uri>();
public void mtdUlusal()
{
grd.Children.Clear();
uris.Clear();
pis.Clear();
wbs.Clear();
List<string> headers = new List<string>();
headers.Add("Hürriyet");
headers.Add("Milliyet");
headers.Add("Posta");
headers.Add("Radikal");
headers.Add("Zaman");
headers.Add("Sözcü");
headers.Add("Cumhuriyet");
headers.Add("Sol Haber");
headers.Add("Sabah");
headers.Add("Star");
headers.Add("Akşam");
headers.Add("Türkiye");
headers.Add("Anadolu Ajansı");
headers.Add("BirGün");
Uri uri0 = new Uri("http://cep.hurriyet.com.tr/");
uris.Add(uri0);
Pivot pvt = new Pivot();
pvt.Title = "ULUSAL GAZETELER";
grd.Children.Add(pvt);
pvt.Background = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 0, 113, 206));
//pvt.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(125, 100, 0, 75));
Uri bln = new Uri("about:blank");
for (int i = 0; i < 14; i++)
{
PivotItem pItem = new PivotItem();
pItem.Header = headers[i];
pis.Add(pItem);
Grid grdUlusal = new Grid();
WebBrowser wb = new WebBrowser();
wb.IsScriptEnabled = true;
wbs.Add(wb);
grdUlusal.Children.Add(wb);
pItem.Content = grdUlusal;
pvt.Items.Add(pItem);
}
wbs[0].Navigate(uris[0]);
pvt.SelectionChanged += Pvt_SelectionChanged;
}
private void Pvt_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Pivot pvt = (Pivot)sender;
Uri uri1 = new Uri("http://wap.milliyet.com.tr/");
Uri uri2 = new Uri("http://m.posta.com.tr/");
Uri uri3 = new Uri("http://www.radikal.com.tr/");
Uri uri4 = new Uri("http://www.zaman.com.tr/mobile.action");
Uri uri5 = new Uri("http://m.sozcu.com.tr/");
Uri uri6 = new Uri("http://www.cumhuriyet.com.tr/");
Uri uri7 = new Uri("http://haber.sol.org.tr/");
Uri uri8 = new Uri("http://www.sabah.com.tr/");
Uri uri9 = new Uri("http://mobil.stargazete.com/default.asp");
Uri uri10 = new Uri("http://m.aksam.com.tr/");
Uri uri11 = new Uri("http://m.turkiyegazetesi.com.tr/");
Uri uri12 = new Uri("http://www.aa.com.tr/");
Uri uri13 = new Uri("http://www.birgun.net/");
uris.Add(uri1);
uris.Add(uri2);
uris.Add(uri3);
uris.Add(uri4);
uris.Add(uri5);
uris.Add(uri6);
uris.Add(uri7);
uris.Add(uri8);
uris.Add(uri9);
uris.Add(uri10);
uris.Add(uri11);
uris.Add(uri12);
uris.Add(uri13);
for (int i = 0; i < 14; i++)
{
if (pvt.SelectedItem == pis[i])
{
wbs[i].Navigate(uris[i]);
}
}
}
答案 0 :(得分:0)
如果您想显示HTML,那么您应该只有一个WebBrowser
控件,并在用户选择该数据透视时导航到新的URL。例如,这里有一些简单的XAML放在页面上:
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<phone:Pivot SelectionChanged="OnPivotChanged">
<phone:PivotItem Header="microsoft"/>
<phone:PivotItem Header="msdn"/>
<phone:PivotItem Header="onedrive"/>
<phone:PivotItem Header="office"/>
</phone:Pivot>
<phone:WebBrowser x:Name="browser" Grid.Row="1"
IsScriptEnabled="True"
Navigated="OnBrowserNavigated"
NavigationFailed="OnNavigationFailed"/>
<TextBlock x:Name="errorMessage" FontSize="38"
Text="sorry, couldn't navigate to that site :-("
TextWrapping="Wrap" Margin="30,0"
HorizontalAlignment="Center" VerticalAlignment="Center"
Grid.Row="1" Visibility="Collapsed"/>
</Grid>
以下是相关代码:
private void OnPivotChanged(object sender, SelectionChangedEventArgs e)
{
browser.Visibility = Visibility.Collapsed;
errorMessage.Visibility = Visibility.Collapsed;
var newItem = e.AddedItems[0] as PivotItem;
var site = new Uri("http://www." + newItem.Header.ToString() + ".com/");
browser.Navigate(site);
}
private void OnBrowserNavigated(object sender, NavigationEventArgs e)
{
browser.Visibility = Visibility.Visible;
}
private void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
{
errorMessage.Visibility = Visibility.Visible;
}
它没有太多错误检查,非常基本,但你应该明白这个想法。在模拟器上运行它似乎稳定在每个分析器大约75MB,这完全在商店应用程序的限制范围内。