我一直是一個XAML開發人員多年,但這一個已經難倒我。我一直在睡覺,所以也許我很密集。Windows商店應用程序設計時DataContext
我只注意到Windows Store應用程序,我注意到LayoutAwarePage有一個DefaultViewModel這些日子,這很好,但我只在運行時才設置。真的,我們需要在設計時建立一個DataContext來查看真假數據。
所以多用一些令人費解的視圖模型掛鉤代碼失敗後,我到這一點,這是行不通的:
public sealed partial class TemplatePage : LayoutAwarePage
{
public TemplatePage()
: base()
{
this.DefaultViewModel = new ObservableDictionary<string, object>();
this.DefaultViewModel.Add("Name", "Design-time value.");
this.InitializeComponent();
}
...}
無論VS2012和Blend沒有看到的DataContext的。當我單擊爲TextBlock創建數據綁定時,混合報告
未設置數據上下文。當您選擇自定義時,您可以輸入一個路徑。
這在運行時工作,我的複雜智能屁股的東西也適用,但不是在設計師。有沒有辦法,這一切工作現在改變了?我錯過了備忘錄嗎?
更新
因此,使用指導,從教程Channel9的
我至少現在可以包括更多的代碼無法正常工作。
我已經創建了幾個擴展BindableBase類的虛擬數據源,很像本教程如何具有此設置,但事情的XAML方面很奇怪。
的XAML表示,在頁面元素水平,構建DesignTimeDataHub對象,並以此作爲在DataContext。然後,在根網格級別,使用將DataContext重置爲CommonFakeData屬性。
網格下的TextBlock的混合創建數據綁定對話框似乎認爲DataContext是在頁面級設置的!
我是否使用{Binding CommonFakeData.Title}
或{Binding Title}
它不起作用。
我明顯地把這一切搞砸了。我很高興他們更加努力,因爲編寫代碼一直很容易。
可以放大瀏覽器中看到的形象。 –