| 

.NET C# Java Javascript Exception

1
Das Platzieren von Controls und so klappt ja wie sonst unter WPF auch. Aber wie kann ich von einer Seite auf eine andere schalten? Funktioniert das mit dem NavigationService? Den hab ich schon gefunden. Aber ich hab keine Ahnung, welchen Uri ich da eintragen muss.

Ich hab eine Seite Response.xaml angelegt. Wenn ich aber die Uri("Response.xaml") eingebe, gibt es eine Exception, dass er die Uri nicht findet.
28.01.2011
STUDS 11 2
Marvin Steppat 4,0k 1 4 8
Evtl. hast du auch einfach nur nicht den richtigen Pfad zu deiner Response.xaml angegeben. Versuchs mal mit vollständiger Pfadangabe und führendem Slash, so: "/Response.xaml" oder "/MeinOrdner/Response.xaml".
Achso 30.04.2011
2 Antworten
1
Also entweder machst du auf deiner Hauptseite folgendes:
<Hyperlink NavigateUri="Response.xaml">
Navigiere zu Repsonse
</Hyperlink>


Oder du machst das über Code-Behind:
Uri uri = new Uri("Response.xaml", UriKind.Relative);
this.NavigationService.Navigate(uri);
28.01.2011
Konstantin 3,7k 1 8
0
Eine wetitere Möglichkeit für die Navigation ist es, an das Steuerelement eine sog. NavigateToPage-Behavior ranzuhängen. Das ist besonders zu empfehlen bei Verwendung von Expression Blend, da dort direkt per Drag'n'Drop unterstützt, siehe Behaviors im Assets-Reiter. Das Event und die Zielseite lassen sich in Blend dann direkt in den Properties einstellen.

So sieht's Resultat in XAML aus:

1. Benötigte Namensräume in der PhoneApplicationPage referenzieren (macht Blend alleine):

xmlns:Custom="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ic="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"

2. Code des Controls (hier Button):

<Button Content="Button">
<Custom:Interaction.Triggers>
<Custom:EventTrigger EventName="Click">
<ic:NavigateToPageAction TargetPage="Response.xaml"/>
</Custom:EventTrigger>
</Custom:Interaction.Triggers>
</Button>
30.04.2011
Achso 340 1 6
Achso 340 1 6

Stelle deine Windows-phone-7-Frage jetzt!