2016-07-28 24 views
0

Wenn die Ansicht registriert ist, wird sie zum ersten Mal angezeigt, aber wenn ich versuche, sie nach dem Laden anderer Ansichten auf tabablzcontroll anzuzeigen, navigiere ich nicht zur vorherigen Ansicht. die Ansicht Schaffung Politik ein gemeinsamesdragablz TabablzControl Registerkarte nicht aktivieren/auf Anfrage anzeigenNavigieren

[PartCreationPolicy(CreationPolicy.Shared)] 

Angenommen IsActive = true

private void ResourceShow() 
    { 
     if (IsActive) 
     { 
      if (!regionManager.Regions[RegionNames.MainContentRegion].Views.Contains("vResource"))//WPFApp.View.uEmployeeView 
      { 
       regionManager.RegisterViewWithRegion(RegionNames.MainContentRegion, typeof(vResource)); 
      } 
      regionManager.RequestNavigate(RegionNames.MainContentRegion, "vResource"); 
     } 
    } 
+0

Es funktioniert, wenn ich ähnliche ((System.Windows.Controls.TabItem) regionManager.Regions tat [RegionNames.MainContentRegion ] .Views.OfType () .SingleOrDefault(). Parent) .IsSelected = true; aber ich bin nicht zufrieden mit der Lösung, ist es möglich, es zu regionadapter hinzuzufügen? –

Antwort

0

Sie müssen die TabControl als Region registrieren.

<TabControl prism:RegionManager.RegionName="SearchRegion" /> 

Bei der Registrierung des Moduls

_container.RegisterType<object, MoviesView>(nameof(MoviesView)); 
_regionManager.RegisterViewWithRegion("SearchRegion", typeof (MoviesView)); 

und Navigation

_regionManager.RequestNavigate(
        "SearchRegion", 
        new Uri("MoviesView", UriKind.Relative)); 
+0

Der Kurs, wo Sie darüber erzählen [Prism Probleme und Lösungen: Mastering TabControl] (https://app.pluralalsight.com/library/courses/prism-mastering-tabcontrol/table-of-contents) – AnZeky

+0

Ich hatte dies getan, aber Liebe es nicht tabcontrol ich spreche, seine dragzable tabcontrol, Region wurden erstellt als < dragablz: TabablzControl.InterTabController>

+0

auch Modul und Ansicht Registrierung getan worden, if (! regionManager.Regions [RegionNames.MainContentRegion] .Views.Contains ("vResource")) // WPFApp.View.UEmployeeView { regionManager.RegisterViewWithRegion (RegionNames.MainContentRegion, typeof (vResource)); } RegionsManager.RequestNavigate (RegionNames.MainContentRegion, "vResource"); –