0
레이블을 합성 값에 바인딩해야합니다 - 모델에서 몇 가지 값으로 구성됩니다. ValueConverter를 사용하려고 노력하고 있지만 ValueConverter에 객체 자체를 전달하는 방법을 알 수 없습니다. 여기 내 코드는 다음과 같습니다 XAML에서 : DetailsConverter.cs에서ValueConverter - 자기에 바인딩
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MyApp;assembly=MyApp"
x:Class="MyApp.SavedDetailsPage">
<ContentPage.Resources>
<ResourceDictionary>
<local:DetailsConverter x:Key="detailsCvt" />
</ResourceDictionary>
</ContentPage.Resources>
...
<Label Text="{Binding ???, Converter={StaticResource detailsCvt}}" FontSize="Small" TextColor="Gray" />
...
: '.'
class DetailsConverter : IValueConverter
{
object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
MyModel myModel = (MyModel)value;
return (myModel.FirstName + " " + myModel.LastName);
}
...
내가 사용 시도 자기에 구속력을 가졌지 만 그건 효과가 없었습니다.
XML 바인딩에서 'This'를 전달할 수 있도록 개체 자체에 대한 액세스 권한을 부여하는 MyModel에 .This 속성을 추가하여 주위를 둘러 보았습니다.하지만 이것이 최선의 방법인지는 확실하지 않습니다.
미리 감사드립니다.
중 하나를 사용할 수 있습니다, 뷰 모델에 바인딩? MVVM 프레임 워크를 사용하고 있습니까? –
페이지의 BindingContext는 어디에 설정합니까? –
또 하나의 해결 방법은 모델을 구성하는 속성을 소개하는 것일 수도 있습니다. –