2013-02-27 41 views
0

對於我的Windows 8應用程序,我試圖在不使用代碼的情況下瀏覽頁面。 例如,我在我的UI一幅圖像時,能夠對圖像我需要導航到另一個頁面創建竊聽事件,Windows 8中的頁面導航XAML(不使用代碼)

<Image Source="ms-appx:///Assets/Logo.png" Width="155" Height="110" Tapped="{ // Navigation method here }"/> 

是否有可能這樣的頁面之間進行導航...?如果可能的話,我該如何解決這個問題?

回答

0

XAML只是一種聲明性語言,沒有動作部分,所以後面的代碼是必不可少的的一部分。 通過事件和事件進行的所有交互都可以僅在後面的代碼中處理。所以你想要XAML是不可能的(至少在WinRT XAML中)。

0

如果您問是否可以在.xaml文件中指定代碼,那麼不,這是不可能的。

如果您問是否可以避免將代碼添加到.xaml.cs文件,那麼是的,這是可能的。你仍然需要指定一個方法,但它甚至可以作爲一個簡單的lambda來完成。您將需要使用命令掛鉤而不是事件掛鉤,例如

<Button Command="{Binding GoConnectionCommand}" ... /> 

此命令的代碼通常是在視圖模型定義爲Josh Smith explains it far better than I will MVVM模式的一部分,和。

0

AlSki提到使用ViewModel。儘管技術上來說ViewModel並不是XAML文件的「後面的代碼」的一部分,但它仍然是代碼,我相信你正在尋求一種無代碼解決方案。

ixSci是正確的,在WinRT XAML中沒有代碼的情況下,沒有辦法做到這一點。

在完整的WPF中,可以使用名爲NavigateToScreenAction的行爲來執行此操作。你可以閱讀關於它here。不幸的是,行爲並不能用WinRT開箱,但可以通過名爲WinRtBehaviors的開源項目重新加入。

WinRT沒有NavigateToScreenAction行爲,但可以創建一個。有一篇關於用庫here創建行爲的好文章。它顯然需要代碼來創建行爲,但在創建之後,您可以在沒有任何代碼的情況下在XAML中使用它。

真的,簡短的回答是,無法在WinRT上無代碼地導航。

開發支持,設計支持和更多真棒善良的方式:http://bit.ly/winappsupport

相關問題