Xamarin.Forms 프로젝트에서 저는 텍스트를 레이블링하기 위해 많은 정수 값을 바인딩하는 것으로 나타났습니다. 예를 들어 :Xamarin.Forms 바인딩 - 코드에서 암시 적 유형 변환이 수행되고 있지만 XAML에서는 수행되지 않았습니까?
myLabel.SetBinding(Label.TextProperty, nameof(MyViewModel.TotalQty));
경우 MyViewModel.TotalQty
는 int
입니다.
This article from the Xamarin guide는 말한다 :
Xamarin.Forms에서는, 바인딩은 어떤 암시 적 형식 변환을 수행하지 않으며, 당신은 문자열로 문자열이 아닌 객체를 표시해야하는 경우이 형식 변환기를 제공하거나있는 StringFormat을 사용해야합니다 .
하지만 내가 사용하고있는 코드가 작동 중이므로 분명히 암시 적 유형 변환이 진행되고 있습니다. 따라서 결론적으로 기사의 문이 잘못되었거나 구식이되거나 문이 XAML에 적용되지만 코드는 적용되지 않습니다. 이 온라인에서 답을 찾는 데 어려움을 겪고 있습니다 - 아는 사람 있습니까?
인용 된 텍스트가 사실이라면 이전의'Xaml' 구현과 완전히 다른 것입니다. 소스 또는 타겟 프로퍼티에 대한 명시적인'ValueSerializer' 또는'TypeConverter' 애트리뷰트가 없다면, 소스 또는 타겟 타입을위한'TypeConverter'가 사용될 것으로 기대 될 것이고, 내장 된'TypeConverter'는로 변환 될 수 있어야합니다 'String'. 'String'에 대한 디폴트 변환기는 확실히 할 수 있습니다. Xamarin에 이러한 유형이있을지라도 관계없이 C# vs Xaml에서 바인딩을 구성하는 데는 차이가 없어야합니다. 단, '트리거'유형과 다를 수 있습니다. –
(분명히 답변을 드릴 수는 없지만이 질문을 관심과 함께 볼 것입니다.) –