0
Android에서 완벽하게 작동하는 목록에 대한 가시성 변환기가 있지만 iOS에서 Convert 메서드를 호출 할 수 없습니다.MVVMCross iOS 사용자 정의 가시성 변환기가 호출되지 않음
public class ListVisibilityConverter : MvxBaseVisibilityValueConverter<IList>
{
protected override MvxVisibility Convert(IList value, object parameter, CultureInfo culture)
{
var inverse = false;
if (parameter != null)
{
inverse = (bool)parameter;
}
var listHasEntries = (value != null) && value.Count > 0;
if (inverse)
{
return listHasEntries ? MvxVisibility.Collapsed : MvxVisibility.Visible;
}
else
{
return listHasEntries ? MvxVisibility.Visible : MvxVisibility.Collapsed;
}
}
}
은 내가 컨버터를 확인했습니다 Setup.cs에서
var set = this.CreateBindingSet<AddFriendsFromContactsViewController, AddFriendsFromContactsViewModel>();
set.Bind(collectionView).For("Visibility").To(vm => vm.SectionedCollection).WithConversion("ListVisibility", true);
set.Bind(noContactsFoundLabel).For("Visibility").To(vm => vm.SectionedCollection).WithConversion("ListVisibility", false);
set.Apply();
다음 코드 발견되고 ... A A의 ViewController의 viewDidLoad에 내 바인딩에 변환기를 사용 ...
'MvvmCross.Plugin.Visibility' NuGet 패키지가 iOS 프로젝트에 설치되어 있는지 확인하십시오. 당신은 또한 깨끗한/응용 프로그램을 제거하고 다시 구축/배포 해 봤어? 콘솔 출력에 경고/오류가 있습니까? – Plac3Hold3r
나는 깨끗하게하고 제거한 다음, 다시 빌드하고 배포했다. 문제를 해결하지 못했습니다. 콘솔에서 다음과 같은 오류가 나타납니다 - "MvxBind : 경고 : 19.80 SectionedCollection에 대한 바인딩 가시성을위한 대상 바인딩을 만들지 못했습니다". SectionedCollection은 ObservableCollection에서 파생됩니다. –
언급하지 않으 셨습니다. 적절한 NuGet 패키지가 설치되어 있습니다. –