2009-10-29 34 views
1

我有5頁導航應用程序。我也有3個單選按鈕的用戶控件。這個用戶控件被我的應用程序中的所有5個頁面使用。默認情況下,第一個單選按鈕被選中。但是,如果用戶單擊第3個單選按鈕,並且我轉到另一個頁面,我希望我的用戶控件仍然將第3個單選按鈕顯示爲選中狀態。我如何去完成這項任務?Silverlight導航應用程序用戶控件狀態

回答

0

有幾種方法可以做到這一點。可能最簡單的方法是創建一個具有所選單選按鈕屬性的類。將此類的實例作爲資源添加到應用程序,然後將單選按鈕綁定到此靜態資源。

public class MyState 
{ 
    public string SelectedRadioValue {get;set;} 
} 

在App.xaml.cs在Application_Startup補充:

var state = new MyState() 
Resources.Add("myState", state); 

然後在綁定您可以設置:

你可能需要以及
SelectedValue="{Binding Source={StaticResource myState},Path=SelectedRadioValue}" 

還有其它的方法。

+0

我想要做的遠比單選按鈕複雜得多(我只是想創建一個簡單的例子)。我認爲會有一個更簡單的方法來跟蹤它,而不是宣佈我自己的變量來做到這一點。 – 2009-10-30 00:44:52

+0

如果你想做更復雜的事情,那麼你需要發佈一個更復雜的問題。你不能指望人們回答一個沒有被問到的問題。 – Bryant 2009-10-30 15:13:04

0

是否有可能在View控件之外顯示此控件?這聽起來像應該放置在顯示視圖的地方之外的MainPage.xaml上。這樣一個控件就可以使用,並且它的值可以被所有的視圖使用。

+0

我該怎麼做?你有任何示例代碼? – 2009-10-30 00:45:43

0

如果你只是希望保存頁面的狀態,用戶在頁面之間導航然後解決這個問題的最簡單的方法是設置:

NavigationCacheMode="Required" 

在XAML爲您的頁面的第一要素。

相關問題