Frage

Wir haben eine „Legacy“ WPF applicaton, die auf einem Navigation basiert. Die Navigation hat eine ziemlich große Control, dass die Häuser ein Content wie so:

<ControlTemplate>
    ....snip...
<ContentPresenter x:Name="PART_NavWinCP" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
    .....snip....
    </ControlTemplate>

Was wollen wir tun, ist die Verwendung der Content als erste Register und dynamisch anderen Registerkarten zur Laufzeit hinzufügen. Wie folgt aus:

    <ControlTemplate>
....snip...
<TabControl Background="Transparent" cal:RegionManager.RegionName="MainRegion" Grid.ColumnSpan="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
       <TabItem Header="Nav Window Content">
           <ContentPresenter x:Name="PART_NavWinCP" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
       </TabItem>
    </TabControl>
.....snip....
</ControlTemplate>

Dann greifen unsere Module die Region und deren Inhalte einfügen dynamisch. Das Problem scheint zu sein, dass die PRISM Region Manager nicht wie, dass unser Code ist in einem Content und können die Region nicht lösen. Ich habe versucht, die RegionManager aktualisieren, dynamisch die Region hinzufügen, nur ohne den Content eine Wurzel Registerkarte Kontrolle, aber ich kann das nicht an der Arbeit. Irgendwelche Ideen?

War es hilfreich?

Lösung 2

So wir das bekamen um durch die Navigation zu einem Frame chaning und den Inhalt in dem Rahmen fallen. Wir brauchen ein bisschen Styling, um zu tun, um es gut aussehen; jedoch ist dies der einzige Weg, die Verwendung einer Region in einem Navigationinhaltsvorlage zu umgehen. Wir werden nun den gesamten Code aus dem Rahmen zu entfernen, die auf der App üblich war und wird von der Shell benötigt werden (da die Navigation kann nicht der Shell werden).

Andere Tipps

Regionen in Vorlagen sind ein Problem - da Vorlagen nach dem anfänglichen Inhalt gerendert werden sie Arent ‚Kontrollen‘ oder sogar Fälle pro-se und die Region Manager hat keine Möglichkeit, den Griff zu bekommen. Ich gehe davon würde eine Region auf diese Weise hinzugefügt würde nicht unterstützt werden.

Nun staright up Registerkarte w / keine Vorlagen ich in der Lage war ganz gut an die Arbeit zu machen, aber erinnere, um einen Inhalt Adapter zu schreiben, der wusste, wie man die Zielregion Art zu handhaben und dass in der Bootstrap Registrierung, bevor ich das Modul tat Laden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top