MVVM 및 바인딩을 사용하여 Xamarian Forms에서 listview를 작성하여 그룹화 된 listview를 작성했습니다. listview가 iOS 용 UITableView Style 그룹을 갖기를 바랍니다. 나는 온라인에서 찾은 커스텀 렌더러를 통해 이것을 만들려고했으나, 결과는 모두 회색으로 보이기 때문에 잘못되었다.Xamarin Forms - 헤더가있는 iOS ListView 네이티브 그룹 스타일을 만드는 방법?
먼저 이미지부터 시작하겠습니다. 이것은 내가 테이블 내가 네이티브 iOS 버전에서했다 whcih과 같이 할 것입니다 : 나는이 (가) 자 마린에 대해 다음 얻을 사용자 정의 렌더러를 추가 할 때
형성 버전 :
배경색을 투명하게 만들려고했는데 원래 listview가있는 listview background color = "Transparent"를 만들었습니다. 다음 두 이미지에 표시됩니다.
이[assembly: ExportRenderer(typeof(ListView), typeof(iOSListViewCustomRenderer))]
namespace Test.iOS.CustomRenderer
{
public class iOSListViewCustomRenderer : ListViewRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
{
base.OnElementChanged(e);
if (this.Control != null && e.NewElement != null)
{
var tbl = new UITableView(this.Bounds, UITableViewStyle.Grouped)
{
Source = this.Control.Source,
};
this.SetNativeControl(tbl);
}
}
}
}
사람이 할 필요가있는 경우 :
이<StackLayout Spacing="0">
<SearchBar x:Name="SearchBarControl" Text="{Binding SearchText}" SearchCommand="{Binding SearchCommand}" Placeholder="Search"></SearchBar>
<ListView x:Name="HistoryList" IsGroupingEnabled="True" GroupDisplayBinding="{Binding Title}" ItemsSource="{Binding History}" CachingStrategy="RecycleElement">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding TagContent}" Detail="{Binding DateAndTime}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
내가 믿는 사용자 정의 렌더러는 그룹화해야 다음과 같이
XAML 페이지입니다 다른 것을보고, 알려줘.
양식에서 tableview 컨트롤을 사용하면 적절한 모양을 얻을 수 있지만 SQL 데이터베이스의 정적 정보가 아닌 동적 정보 인 것처럼 보입니다.
사용자 지정 셀을 만들어서 셀을 흰색으로 만들려고했지만 아무 것도 변경하지 않았습니다.
xamarin 양식 목록보기를 셀이 흰색이고 해당 스타일 그룹에있는 첫 번째 이미지처럼 보이게하려면 어떻게해야합니까?
를 참조하십시오? –
@RohitVipinMathews 그게 무슨 뜻이야? 위의 XAML에서 IsGroupingEnabled = "True"GroupDisplayBinding = "{Binding Title}"을 추가했습니다. 그게 당신이 언급 한 것입니까? 그룹화하지만 iOS 그룹화 된 버전 대신 일반 목록 형식입니다. – SolidSnake4444
'SetNativeControl'을 할 때 모든 레이아웃과 정렬이 당신의 책임입니다. –