我想通過這個地鐵的 「Hello World」 上MSVS 11測試版的工作,與Windows 8預覽社區沒有合適的方法:地鐵/ Windows8的編譯錯誤:在LoadState()=>找到重寫
Create Your First Metro Style App using C# or VB
本教程將要求您創建一些「模板」頁面。例如:
public sealed partial class SplitPage : WindowsBlogReader.Common.LayoutAwarePage
{
...
本教程還要求您覆蓋在LoadState()方法用於某些網頁:
protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
{
// TODO: Assign a bindable group to this.DefaultViewModel["Group"]
// TODO: Assign a collection of bindable items to this.DefaultViewModel["Items"]
FeedData feedData = navigationParameter as FeedData;
if (feedData != null)
{
this.DefaultViewModel["Feed"] = feedData;
this.DefaultViewModel["Items"] = feedData.Items;
}
...
的問題是,這個死亡與討厭的編譯錯誤:
LoadState(object,System.Collections.Generic.Dictionary<string,object>): no suitable method found to override.
在模板的自動生成代碼(SplitPage.xaml.cs)中沒有「頁面狀態管理」區域,也沒有默認的「LoadState()」方法;教程說應該是。
問:LoadState()現在在Metro SDK的新版本中被棄用了嗎?
問:我是否需要在.xaml文件中做一些「魔術」來完成這項工作?
問:這裏發生了什麼?
非常感謝您提前,如果有人有任何建議! 教程還要求您替換其中一些頁面的LoadState()方法:
您的基類'LayoutAwarePage'包含'LoadState',所以'protected override void LoadState(Object navigationParameter,Dictionary pageState)'將會工作。我在這裏偶然發現,因爲我的'LoadState(...)'沒有執行。 :/ –