Я получил страницу, на которой я загружаю несколько шаблонов элементов управления, учитывая некоторую бизнес-логику, связанную со свойством в моей viewModel.
<ContentView x:Name="ContentView" ControlTemplate="{Binding ItemControlTemplate}">
</ContentView>
Внутри этого шаблона элемента управления я получил CarouselViewControl, который использует DataTemplate.
<carousel:CarouselViewControl x:Name="CarouselViewMapTemplate" Position="
{TemplateBinding BindingContext.CarouselPosition}"
PositionSelectedCommand="{TemplateBinding BindingContext.PositionChanged}"
Orientation="Horizontal" AnimateTransition="True" IsSwipeEnabled="False"
ItemsSource="{TemplateBinding BindingContext.Items}" InterPageSpacing="10"
ItemTemplate="{StaticResource ItemsDataTemplate }">
</carousel:CarouselViewControl>
И внутри этого DataTemplate я хотел бы привязать свойство в ViewModel, которое такжеDataTemplate.
<maps:SfMaps x:Name="sfmap" EnablePanning="False" EnableZooming="False" BackgroundColor="Transparent">
<maps:SfMaps.Layers>
<maps:ShapeFileLayer x:Name="ShapeLayer" Uri="FRA_adm0.shp" MarkerTemplate="{Binding Parent.BindingContext.MarkerDataTemplate}">
</maps:ShapeFileLayer>
</maps:SfMaps.Layers>
</maps:SfMaps>
Как мне этого добиться?Я только что попытался
{Binding Parent.BindingContext.MyProperty}
, но это не работает.Я также копал со свойством Source привязки, , но это не сработает, так как у меня нет ссылки в моем DataTemplate, используемом в качестве ресурса на уровне приложения ResourceDictionary.
Это НЕ ДАЕТВ результате он не находит carouselView в ResourceDictionary:
"{Binding Path=BindingContext.DisplayMarkerTemplateCommand, Source={x:Reference carouselView}}"
Невозможность сделать это разрушает весь смысл наличия ResourceDictionary и очистки шаблонов, если привязка не работает с ним с XAML.
СПАСИБО!