Контекстни менюта и NavigateTo в Blend / SketchFlow

Надявайки се, че това ще бъде лесно, в Sketchflow се опитвам да свържа контекстно меню за навигиране до друга страница.

Създадох контекстното меню, добавих елемент от менюто, щракнах с десния бутон върху елемента на менюто в панела Обекти и времева линия и избрах navigateto. Когато го стартирам, менюто се появява, но когато щракна върху елемента от менюто, не прави нищо.

Преди имах NavigateTo, работещ при щракване с левия бутон върху друг обект, така че всички екрани/връзки са на мястото си.

Това е генерираният xaml:

    <ContextMenu>
 <MenuItem Header="Edit">
  <i:Interaction.Triggers>
   <i:EventTrigger EventName="MouseDown">
    <pb:NavigateToScreenAction TargetScreen="SomeScreen.Screen_3_2"/>
   </i:EventTrigger>
  </i:Interaction.Triggers>
 </MenuItem>
</ContextMenu>

person Spruce    schedule 14.10.2009    source източник


Отговори (2)


Този xaml работи за сценария, който смятам, че се опитвате да постигнете:

<Button Content="Button">
            <Button.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="Next">
                        <i:Interaction.Triggers>
                            <i:EventTrigger EventName="Click">
                                <pb:NavigateToScreenAction TargetScreen="WpfPrototype3Screens.Screen_2"/>
                            </i:EventTrigger>
                        </i:Interaction.Triggers>
                    </MenuItem>
                </ContextMenu>
            </Button.ContextMenu>
        </Button>
person Chuck Hays    schedule 20.10.2009
comment
въздишка Не знам защо Expression Engine задава EventName на LeftMouseClickDown, но това реши проблема ми. Предполагам, че двигателят по подразбиране използва най-специфичния случай, а не най-общия. Благодаря. - person JohnMetta; 18.12.2010

Докато пътят за TargetScreen е правилен, просто променете EventName на „Click“ и ще работи. „Click“ обработва събитието „MouseDown“.

person Adam Kinney    schedule 19.10.2009