2017-01-23 1 views
0

일부 컨트롤이 뷰 외부에있는 usercontrol을 만들었지 만 애니메이션이 나타나면 곧 볼 수 있습니다. 애니메이션은 오프셋을 변경하므로 서서히 나타납니다. 자, 내가보기에 내 usercontrol 넣을 때, 볼 수없는 컨트롤을 볼 수 있습니다. Grid, GridView, Canvas를 사용하도록 묶었지만 매번이 컨트롤을 볼 수 있습니다.C# uwp cut of usercontrol

resizeble하려면 내 usercontrols 4 연속 필요합니다. 그리고이 문제는 일부 사용자 컨트롤을 서로 겹치게 만듭니다.

<Grid x:Name="gridDown" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 

     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="25*" /> 
      <ColumnDefinition Width="25*" /> 
      <ColumnDefinition Width="25*" /> 
      <ColumnDefinition Width="25*" /> 
     </Grid.ColumnDefinitions> 

     <local:MyUserControl x:Name="myControl1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="0"/> 
     <local:MyUserControl x:Name="myControl2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="1"/> 
     <local:MyUserControl x:Name="myControl3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="2"/> 
     <local:MyUserControl x:Name="myControl4" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="3"/> 

</Grid> 

어떻게 내 UserControl을의 중앙 부분을 보여주기 위해 : 여기

내가 그리드에 그들에게 보여 얼마나입니까? 내가보기 싫은 나머지 컨트롤을 숨기는 방법? 무엇을 통제하는 것이 가장 좋은가?

+0

어떻게 UserControl을 달성 했습니까? [mcve]를 우리와 공유하십시오. –

답변

1

표시 할 내용을 제어하려면 표시 할 내용의 제한을 설정할 위치를 지정해야합니다. WPF에서는 유용한 ClipToBounds property이 있지만 유감스럽게도 UWP에서는 사용할 수 없으므로 직접 '클립'속성을 설정해야합니다. 페이지가이

<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> 
    <local:MyControl/> 
    <local:MyControl/> 
    <local:MyControl/> 
</StackPanel> 

처럼 보였다 그리고 경우

그래서, 당신의 제어 XAML이

처럼 보였다
<Grid Height="50" Width="100"> 
    <Grid.Clip> 
     <RectangleGeometry Rect="0 0 100 50"/> 
    </Grid.Clip> 
    <Grid.Resources> 
     <Storyboard x:Name="ShowRedBit"> 
      <DoubleAnimation Storyboard.TargetProperty="Rectangle.RenderTransform.(CompositeTransform.TranslateX)" 
          Storyboard.TargetName="RedBit" 
          Duration="0:0:2" 
        To="0"/> 
     </Storyboard> 
    </Grid.Resources> 
    <Button HorizontalAlignment="Center" Click="Button_Click">show red</Button> 
    <Rectangle Fill="Red" Height="50" Width="50" x:Name="RedBit" RenderTransformOrigin="0.5,0.5" > 
     <Rectangle.RenderTransform> 
      <CompositeTransform TranslateX="-100"/> 
     </Rectangle.RenderTransform> 
    </Rectangle> 
</Grid> 

당신은 내가 수동으로 설정 한 것을 볼 수 있습니다 clip 속성은 컨트롤의 크기와 같아야합니다.

this question에 대한 답변은 동적으로 설정하는 방법을 포함하여 몇 가지 다른 접근법을 보여줍니다.