2012-05-09 8 views
1

構造(ノードとエッジを含む)のような構造を持ち、特定のノードをクリックしたときにそのようにしたい場合は、最大2-4個のボタンを含む(ノードから) 。ウィンドウの他の部分をクリックすると、バーが挿入されます。これは、MVVMのパターンに従い、ボタンバーは特定のノードのViewModelにバインドされるカスタムコントロールでなければなりません。しかし、私はどのようにスライドインアウト効果を達成するかについては考えていません。 これに関するガイダンス/ポインターは高く評価されます。wpfで要求時のボタンバー

に関して、

答えて

1

あなたはPopupコントロール内にカスタムコントロールを置くことができます。 PopupAnimationをSlideに設定すると、コントロールをビューにスライドさせることができます。

次のXAMLは、ToggleButtonコントロールの横のビューにスライドするPopupを定義します。ポップアップは、ボタンが切り替わったときに開きます。ノードがクリックされたときにポップアップが開くように、この動作を変更する必要があります。ポップアップがフォーカスを失うと、ポップアップが閉じます。

<ToggleButton x:Name="toggleButton>Click to show</ToggleButton> 
    <Popup IsOpen="{Binding ElementName=toggleButton, Path=IsChecked, Mode=TwoWay}" 
      PlacementTarget="{Binding ElementName=toggleButton}" 
      StaysOpen="False" 
      Placement="Right" 
      PopupAnimation="Slide"> 

     <!-- Your custom control goes here --> 

    </Popup> 

フェードとスクロールで再生できる他のアニメーション効果があります。より複雑なものが必要な場合は、StoryBoardを設定する必要があります。

+0

ブルズアイ!それは私が必要なものです!私はそれをもっと実験します。 IsOpenプロパティに終了引用符( ")を付けるようにコードを更新するよう依頼してください。 – James

+0

答えがうまくいきましたが、ポップアップが表示され、非常に早く消えてしまいます。 – James

関連する問題