2016-07-05 3 views
0

이것은 Xamarin 양식 PCL 애플리케이션 용입니다.ListView - Xamarin Forms에서 축소 가능한 사용자 정의 뷰 셀

정적 뷰 셀에 일부 데이터를 표시하는 사용자 정의 viewcell이있는 listview가있는 솔루션을 찾고 있는데 일부는 단추 클릭을 기반으로 접을 수 있어야합니다. 버튼은 목록보기와 분리되어있을 것입니다. 클릭하면보기 셀의 일부가 표시되거나 숨겨집니다.

표시 할 데이터는 동적이며 상위 하위 관계입니다. 부모 데이터가 수정되었습니다. 하위 데이터에는 하위 요소 목록이 들어 있습니다. 즉, 하나의 부모는 2 명의 자식을 가지고 있고 다른 하나는 1 또는 3을 가질 수 있습니다. Viewcell은 뷰 셀에 상위 수준의 데이터를 표시해야하며, 단추를 클릭하면 뷰 셀에 하위 데이터도 표시해야합니다. 뷰 셀의 각 하위 데이터에 대해 1 행. 목록 (자식 목록) 내에서 일종의 목록 (부모 목록)이지만 자식 목록이 표시 단추 클릭에 표시되고 숨기기 단추를 클릭하면 다시 숨겨집니다.

이 뷰 셀은 숨김 또는 표시 모드에서 내용에 따라 높이를 조절해야합니다 (렌더링 된 후 높이가 변경됨).

답변

0

가장 쉬운 방법은 ViewCell 내부의 XLabs에서 RepeaterView를 사용하는 것입니다. 이의 라인을 따라 뭔가 :

<ListView ItemsSource="{Binding Parents}"> 

     <ListView.ItemTemplate> 
     <DataTemplate> 
      <ViewCell> 
      <Grid> 
       <Label Text="Fixed Content" /> 

       <xlabs:RepeaterView x:TypeArguments="local:ChildType" ItemsSource="{Binding Children}"> 
        <xlabs:RepeaterView.ItemTemplate> 
        <DataTemplate> 
         <Grid> 
         <Button Text="{Binding ChildAction}"> 
         </Button> 
         </Grid> 
        </DataTemplate> 
        </xlabs:RepeaterView.ItemTemplate> 
       </xlabs:RepeaterView> 

       </Grid> 
      </ViewCell> 
     </DataTemplate> 
     </ListView.ItemTemplate> 

    </ListView> 
+0

나는 반복보기 안드로이드에만 iOS 용 가능하고위한 창문이 개발중인 것을 보았다. –

+0

OnPlatform 태그를 사용하고 Windows에서 ItemsControl을 사용하면 xlabs repeater – root

+0

보다 훨씬 잘 작동합니다. 또한, 안드로이드 플랫폼에 대한 제안. –

관련 문제