我正在嘗試使用Prism 4創建Silverlight應用程序,並且正在測試它的導航功能。當我點擊一個按鈕時,我想在兩個視圖之間切換。第一種觀點是:Prism:IRegionMemberLifetime在某些情況下不起作用
public partial class HomeView
{
public HomeView(HomeViewModel viewModel)
{
DataContext = viewModel;
InitializeComponent();
}
}
和視圖模型:
public class HomeViewModel : NotificationObject, IRegionMemberLifetime
{
private readonly IRegionManager _regionManager;
public DelegateCommand SubmitCommand { get; set; }
public bool KeepAlive { get { return false; } }
public HomeViewModel(IRegionManager regionManager)
{
_regionManager = regionManager;
SubmitCommand = new DelegateCommand(Submit);
}
private void Submit()
{
_regionManager.RequestNavigate("Home", new Uri(typeof(UsersView).Name, UriKind.Relative));
}
}
的問題是,當我設置「家」的區域是在ItemsControl中,網格(帶轉接器) - 它不」 t輸入KeepAlive屬性,並將第二個視圖添加到該區域,然後我可以看到它們。
當區域定義爲ContentControl或TabControl時 - 它將刪除HomeView並添加UsersView!
誰能告訴我我做錯了什麼?我想用網格作爲區域來實現這一點。
我讀過這章http://msdn.microsoft.com/en-us/library/gg430861%28v=pandp.40%29.aspx,發現沒有答案......
所以你的問題是,你希望網格作爲一個項目控件具有內容控制的行爲? – PVitt 2011-05-31 06:46:49