是否Visual Studio 2010的可視化設計允許在設計時通過外部XML文件加載數據?設計時間數據從外部XML文件
看來,我可以通過d添加:DataContext的,但我有大量的數據,這是很容易通過XML加載它。這可能嗎?
是否Visual Studio 2010的可視化設計允許在設計時通過外部XML文件加載數據?設計時間數據從外部XML文件
看來,我可以通過d添加:DataContext的,但我有大量的數據,這是很容易通過XML加載它。這可能嗎?
一兩件事你可以做的是使存儲庫(或其他物體),你會在運行時使用的設計時版本。我經常使用的簡單方法就是這樣。
在App.xaml中:
<Application ...>
<Application.Resources>
<local:MyClass x:key="DesignData"/>
</Application.Resources>
</Application>
然後在類的構造函數,你可以發現你是在設計模式,並相應地填充數據:最後
public class MyClass
{
public MyClass()
{
bool isInDesign = DesignerProperties.GetIsInDesignMode(new DependencyObject());
if (isInDesign)
{
// Load your XML + other setup routines.
}
// Normal ctor code.
}
}
,使用此項目及其數據作爲您的上下文。
<Window ...>
<Grid d:DataContext="{StaticResource DesignData}">
...
</Grid>
</Window>
這可能是你可以用它來獲得複雜的設計時數據最簡單的方法。當然,您可能需要使用'MyClass'的子類或其他方法來處理非常複雜的場景,但聽起來您足夠了解這一點。從個人的經驗來說,你可以用這種方式來作出,你能想到的任何程序狀態設計數據,甚至可以走那麼遠,從DB拉活的數據,如果你想要的。當然,越早開始考慮應用程序中的設計數據越容易實際工作。
這正是我所做的。起初我沒有看到任何結果。謝謝。 – kevindaub 2011-03-31 00:30:27
如何在設計時加載XML文件?你在哪裏放置文件,你如何告訴設計師找到它? – SelAromDotNet 2013-02-20 05:38:14
設計器構造類的實例,所以您將它加載到那裏。請參閱上面的代碼block @ //加載您的XML +其他安裝例程。 ?你可以從你想要的任何舊地方加載文件;數據庫,文件系統或嵌入式資源。 – 2013-02-20 14:07:10
使用「d:DataContext的」之間有什麼區別和「通過XML負載」你找誰?既然d:DataContext會加載你的XML,你還有其他一些用途或功能嗎? – 2011-03-29 12:48:48
我的XML是通過調用我的倉庫加載,所以我的datacontext等於庫。因此,在這種情況下將其設置爲XML將不起作用。 – kevindaub 2011-03-29 19:56:39