2014-11-20 3 views
0

스크롤 뷰어 안에 itemscontrol이 있고 요소가 화면 가운데에 가까워 질수록 커집니다. 문제는 그것이 커지면서 왼쪽 상단 모서리가 제자리에 고정되어 있으며 이렇게 보입니다.WPF- itemscontrol의 내용 정렬

Not what I want

나는 그것을 같이하고 싶지만, 나는 그 일에 대해 이동하는 방법을 모른다.

What I do want

편집 : 필요한 경우 추가 XAML 정보는, 당신이 원하는 얻을 숨김 코드에 여백을 편집 할 수 있습니다 생각 (그래도 난 그것을 의심) C#을위한

<TextBlock Name="text2" Text="hello" Margin="0,15,0,-10"/> 
    <ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled"   Height="300" Name="Viewr" Canvas.Top="120" ScrollChanged="Viewr_ScrollChanged"> 
     <ItemsControl Name="viewrcontent"> 
      <Canvas Width="100" Height="100" Background="Red"/> 
      <Canvas Width="100" Height="100" Background="Red"/> 
      <Canvas Width="100" Height="100" Background="Red"/> 
      <Canvas Width="100" Height="100" Background="Red"/> 
      <Canvas Width="100" Height="100" Background="Orange" Name="hellobox"/> 
      <Canvas Width="100" Height="100" Background="Green" Name="midbox"/> 
      <Canvas Width="100" Height="100" Background="Black"/> 
      <Canvas Width="100" Height="100" Background="Red"/> 
      <Canvas Width="100" Height="100" Background="Red"/> 
      <Canvas Width="100" Height="100" Background="Red"/> 
      <Canvas Width="100" Height="100" Background="Red"/> 
      <Canvas Width="100" Height="100" Background="Black"/> 
      <ItemsControl.ItemContainerStyle> 
       <Style> 
        <Setter Property="FrameworkElement.Margin" Value="5"/> 
       </Style> 
      </ItemsControl.ItemContainerStyle> 
      <ItemsControl.ItemsPanel> 
       <ItemsPanelTemplate> 
        <StackPanel Orientation="Horizontal" CanHorizontallyScroll="True"/> 
       </ItemsPanelTemplate> 
      </ItemsControl.ItemsPanel> 
     </ItemsControl> 
    </ScrollViewer> 
+0

xaml을 게시 할 수 있습니까? –

+0

죄송합니다, xaml 게시 – Nivert9

+0

Viewr_ScrollChanged 무엇합니까? 나는 그것이 녹색 아이템을 바꾸는 것이라고 생각한다. 당신이 제공 한 xaml은 저를 위해 잘 스크롤되지만 센터 아이템은 크기 나 그 밖의 것이 증가하지 않습니다. –

답변

1

당신이 항목을 확장하기 위해 RenderTransformScaleTransform을 적용하는 경우, 당신은 자신의 중심을 주변으로 확장 할 항목을 강제하는 0.5,0.5RenderTransformOrigin을 설정할 수 있습니다.

0

문의하시기 바랍니다 행동. 이 같은 뭔가 일할 수 :

midbox.Width += 10; 
midbox.Height += 10; 
midbox.Margin = new Thickness(midbox.Margin.Left - 5, midbox.Margin.Top, midbox.Margin.Right - 5, midbox.Margin.Bottom);