2012-10-02 4 views
1

t는 기본적인 질문 일 수 있습니다. 그러나 나는 몇 시간의 연구 끝에 그것을 이해할 수 없다. 상품 세부 정보 페이지가 있습니다. scrollview가 오른쪽 하단에 도달 할 때마다 다른 격자를 추가하고 싶습니다. 지금은 xaml에 열을 추가하고 가시성 속성을 토글하여이 목표를 부분적으로 달성했습니다.런타임시 UI 컨트롤을 그리드에 추가하는 가장 좋은 방법은 무엇입니까?

if (//Reach the right side) 
{ 
    if (related.Visibility == Visibility.Collapsed) 
    { 
    related.Visibility = Windows.UI.Xaml.Visibility.Visible; 
    } 
} 

if (// Move away from right border) 
{ 
    related.Visibility = Windows.UI.Xaml.Visibility.Collapsed; 
} 

뒤에

<Grid x:Name="body" Style="{StaticResource LayoutRootStyle}"> 

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

    <Grid x:Name="dynamicGrid" Grid.Column="1" Grid.RowSpan="2" Visibility="Collapsed"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="80"/> 
      <RowDefinition Height="360"/> 
      <RowDefinition Height="360"/> 
     </Grid.RowDefinitions> 
     <TextBlock .../> 
     <GridView .../> 
     <GridView .../> 
    </Grid> 

그리고 코드

그것은 어느 시점에 작동합니다. 그러나 애니메이션은 급격한 변화입니다. 때때로 스크롤 뷰어는 처음으로 돌아 가기를 거부합니다. 내가 문제를 추가/런타임에 ui 컨트롤을 제거 할 때, scrollviewer 꽤 잘 처리하지 않는 것 같아요.

이 기능을 구현하는 더 좋은 방법이 있습니까? 모든 제안을 환영합니다.

+0

사용자 컨트롤을 보았습니까? – Derek

+0

"관련있는"것이 명확하지 않습니다. –

+0

@FilipSkakun 정교하게 생각해서 죄송합니다. 관련 내가 전환하고 싶은 그리드입니다. – Selkie

답변

0

grid.Children.Add (newChildControl)을 호출하여 표 컨트롤에 자식 컨트롤을 추가 할 수 있습니다. Grid.SetRow/Column/RowSpan/ColumnSpan을 호출하여 특정 행/열/범위에 하위 컨트롤을 할당 할 수도 있습니다.

+0

답장을 보내 주셔서 감사합니다. 나는이 접근법을 시도했다. 그러나 또한 깜박입니다. – Selkie

+0

그런 다음 컨트롤이 나타나기 전 또는 전환을 지정해야합니다. –

관련 문제