2010-01-21 1 views
6

Я новичок в Blend & Sketchflow. Я надеюсь, что кто-то может мне помочь.Sketchflow Navigation

Я делаю проект эскиза и создал несколько кнопок, которые перемещаются к определенным экранам (приятно и легко).

Теперь улов ...

Я сделал родовое меню в верхней части, и поставить кнопку на нем, и то, что я хочу добиться с ним в том, что если кто-то нажимает на эту кнопку, вместо перехода к определенному экрану, он просто переходит к предыдущему экрану, который просматривался в эскизном потоке.

Кто-нибудь знает, возможно ли это? И если да, то как бы я этого добился?

ответ

7

Использовать поведение «назад». Есть 2 простых способов применить это поведение вашей кнопки:

  1. правой кнопкой мыши на кнопку в холсту, выберите «Navigate To» -> «Назад» или
  2. Откройте панель активов, SketchFlow-> Поведение-> NavigateBackAction, перетащите это поведение на свою кнопку.

Часть XAML должен выглядеть примерно так:

<UserControl 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
mc:Ignorable="d" 
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" xmlns:pb="clr-namespace:Microsoft.Expression.Prototyping.Behavior;assembly=Microsoft.Expression.Prototyping.Interactivity" 
x:Class="SilverlightPrototype12Screens.Screen_1" 
Width="640" Height="480"> 

<Grid x:Name="LayoutRoot" Background="White"> 
    <Button Height="66" Margin="241,68,275,0" VerticalAlignment="Top" Content="Button"> 
     <i:Interaction.Triggers> 
      <i:EventTrigger EventName="Click"> 
       <pb:NavigateBackAction/> 
      </i:EventTrigger> 
     </i:Interaction.Triggers> 
    </Button> 
</Grid> 

+0

Спасибо ... Я чувствую себя настоящим нубом –

5

Я искал тот же вопрос, но я хочу, чтобы перейти от C# .NET.

Я нашел следующее решение:

private void Navigate(object sender, RoutedEventArgs e) 
{ 
    Microsoft.Expression.Prototyping.Services.PlayerContext.Instance.ActiveNavigationViewModel.NavigateToScreen("WpfPrototype2Screens.Screen_2", true); 
} 

в этом forum.