2012-05-09 2 views
1

구조와 같은 구조 (노드와 가장자리 포함)가 있고 특정 노드를 클릭 할 때 스타일러스 모양의 단추 막대가 최대 2-4 개의 단추를 포함하는 노드에서 슬라이드됩니다. . 창의 다른 부분을 클릭하면 막대가 삽입됩니다. MVVM 패턴을 따라야하므로 버튼 막대는 특정 노드의 ViewModel에 바인딩되는 사용자 정의 컨트롤이어야합니다. 그러나 슬라이드 인아웃 효과를 얻는 방법에 대해서는 잘 모릅니다. 이것에 관한 안내/조언을 보내 주시면 감사하겠습니다.wpf에서 주문형 버튼 모음

관련,

답변

1

당신은 Popup 컨트롤 내부 사용자 지정 컨트롤을 넣을 수 있습니다. 그런 다음 PopupAnimation을 Slide로 설정하면 컨트롤을 뷰로 슬라이드 할 수 있습니다.

다음 XAML은 ToggleButton 컨트롤 옆에보기로 슬라이드하는 Popup을 정의합니다. 단추를 토글 할 때 팝업이 열립니다. 노드를 클릭 할 때 팝업이 열리도록이 동작을 변경해야합니다. 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