2013-07-26 5 views
0

시맨틱 줌 컨트롤을 구현하려고하지만 listview, Gridview 또는 그룹화를 구현하려고하지 않습니다. 내 UI는이 Zoomin보기에 그리드에 대응해야 Zoomout의 이미지를 클릭에 XAML목록 뷰, Gridview없이 시맨틱 줌을 구현 하시겠습니까?

ZoomIn

<!--Your ZoomIn view here--> 
       <ScrollViewer> 
        <StackPanel> 
         <Grid x:Name="Item1" /> 
         <Grid x:Name="Item2" /> 
         <Grid x:Name="Item3" /> 
         <Grid x:Name="Item4" /> 
         <Grid x:Name="Item5" /> 
        </StackPanel> 
       </ScrollViewer> 

ZoomOut

  <!--Your ZoomOut view here--> 
      <ScrollViewer> 
       <StackPanel> 
        <Image x:Name="ImageItem1" /> 
        <Image x:Name="ImageItem2" /> 
        <Image x:Name="ImageItem3" /> 
        <Image x:Name="ImageItem4" /> 
        <Image x:Name="ImageItem5" /> 
       </StackPanel> 
      </ScrollViewer> 

다음있다.

어떻게하면됩니까? 지금까지는 listview, gridview 및 grouping을 사용하여 시맨틱 줌을 구현했습니다.

+0

는 가 http://blogs.msdn.com/b/going_metro/archive/2012/07/18/semantic-zoom-only-supports-gridview-and-listview.aspx –

+0

예 나는 보았다 이 샘플을 봐 그 예를 들어 보았지만 ZoomOut에서 그 이미지를 클릭 할 때 그 요소로 스크롤하는 방법을 알 수는 없습니다. –

+0

글쎄, 당신은 이미지의 VerticalOffset을 찾아야 할 것입니다. 수학을 사용하고 ScrollViewer와 해당 항목 사이에서 TransformToVisual을 수행하면됩니다. 그런 다음 VerticalOffset을 적절한 값으로 설정합니다. –

답변

1

사용하지 않으려는 컨트롤의 경우 SemanticZoom과 같은 컨트롤을 사용하는 것은 바람직하지 않습니다.

는이 작업을 수행 할 수 있다고 말했다 갖는

<SemanticZoom> 
    <SemanticZoom.ZoomedInView> 
     <GridView> 
      <GridView.Header> 
       <StackPanel> 
        <TextBlock>One</TextBlock> 
        <TextBlock>Two</TextBlock> 
        <TextBlock>Three</TextBlock> 
       </StackPanel> 
      </GridView.Header> 
     </GridView> 
    </SemanticZoom.ZoomedInView> 
    <SemanticZoom.ZoomedOutView> 
     <GridView> 
      <GridView.Header> 
       <StackPanel> 
        <TextBlock>Four</TextBlock> 
        <TextBlock>Five</TextBlock> 
        <TextBlock>Six</TextBlock> 
       </StackPanel> 
      </GridView.Header> 
     </GridView> 
    </SemanticZoom.ZoomedOutView> 
</SemanticZoom> 

행운을 빕니다!