Доступ к полю из основной модели представления

List EDocuments имеет модель EDocument. List EDocuments часть основной ViewModel. Когда я вычитываю лист, мне надо скрыть некоторые данные согласно бизнес логике, для примера, вот часть которую мне надо скрыть:

StackLayout Orientation="Horizontal" Padding="15, 15, 0, 0" IsVisible="{Binding MainViewModel.NewDocumentsExists}"  

Поле NewDocumentsExists часть основной ViewModel, не EDocument. Как мне обратится к основной моделе? Я себе представлял это так MainViewModel.NewDocumentsExists

Main:

<StackLayout  BindableLayout.ItemsSource="{Binding EDocuments}">
    <BindableLayout.ItemTemplate>
        <DataTemplate>
            <Frame CornerRadius="5"  OutlineColor="#c3c3c3" BackgroundColor="#F2FFFFE0">
                <StackLayout Orientation="Vertical" HorizontalOptions="FillAndExpand">
                    <StackLayout Orientation="Horizontal">
                        <Label Style="{StaticResource LabelTitleFontSize}" Text="Номер документа:" ></Label>
                        <Label Style="{StaticResource LabelFontSize}" Text="{Binding DocumentNum}"></Label>
                    </StackLayout>
                    <StackLayout Orientation="Horizontal">
                        <Label Style="{StaticResource LabelTitleFontSize}" Text="Точка вивантаження:" ></Label>
                        <Label Style="{StaticResource LabelFontSize}" Text="{Binding UnloadPoint}"></Label>
                    </StackLayout>
                    <StackLayout Orientation="Horizontal">
                        <Label Style="{StaticResource LabelTitleFontSize}" Text="Кількість місць:" ></Label>
                        <Label Style="{StaticResource LabelFontSize}" Text="{Binding PlacesTotal}"></Label>
                    </StackLayout>
                    <StackLayout Orientation="Horizontal">
                        <Label Style="{StaticResource LabelTitleFontSize}" Text="Загальна вага:" ></Label>
                        <Label Style="{StaticResource LabelFontSize}" Text="{Binding WeightTotal}"></Label>
                    </StackLayout>
                    <StackLayout Orientation="Horizontal">
                        <Label Style="{StaticResource LabelTitleFontSize}" Text="Статус:" ></Label>
                        <Label Style="{StaticResource LabelTitleFontSize}" TextColor="Red" Text="{Binding EDocState.StateName}"></Label>
                    </StackLayout>
                    <StackLayout Orientation="Horizontal">
                        <Line BackgroundColor="Black" HeightRequest="1" />
                        <Label Text="Перелік товару:" TextColor="Black" FontSize="22"/>
                    </StackLayout>
                    <StackLayout  BindableLayout.ItemsSource="{Binding Specifications}">
                        <BindableLayout.ItemTemplate>
                            <DataTemplate>
                                <Frame CornerRadius="5" OutlineColor="#c3c3c3" BackgroundColor="White">
                                    <StackLayout>
                                        <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
                                            <Label Style="{StaticResource LabelTitleFontSize}" Text="Найменування:"/>
                                            <Label Style="{StaticResource LabelFontSize}" Text="{Binding Name}"/>
                                        </StackLayout>
                                
                                        <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
                                            <Label Style="{StaticResource LabelTitleFontSize}" Text="Тип:"/>
                                            <Label Style="{StaticResource LabelFontSize}" Text="{Binding TypeOfPackaging}"/>
                                        </StackLayout>

                                        <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
                                            <Label Style="{StaticResource LabelTitleFontSize}" Text="Вага:"/>
                                            <Label Style="{StaticResource LabelFontSize}" Text="{Binding GrossWeight}"/>
                                        </StackLayout>

                                        <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
                                            <Label Style="{StaticResource LabelTitleFontSize}" Text="Кількість місць:"/>
                                            <Label Style="{StaticResource LabelFontSize}" Text="{Binding NumberOfSeats}"/>
                                        </StackLayout>
                                    </StackLayout>
                                </Frame>
                            </DataTemplate>
                        </BindableLayout.ItemTemplate>
                    </StackLayout>
                    <StackLayout Orientation="Horizontal" Padding="15, 15, 0, 0" IsVisible="{Binding **NewDocumentsExists**}" IsEnabled="{Binding NewDocumentsExists}">
                        <Label Style="{StaticResource LabelTitleFontSize}" Text="Вибрати:" Margin="0, 0, 20, 0" />
                        <Switch Scale="1.5" IsToggled="{Binding NewDocumentsExists}"  OnColor="LightGray" ThumbColor="{Binding SwitchColor}" />
                    </StackLayout>
                </StackLayout>
            </Frame>
        </DataTemplate>
    </BindableLayout.ItemTemplate>
</StackLayout>  

Ответы (1 шт):

Автор решения: Winteriscoming

Добавлю мой результат в качестве примера.

<StackLayout Orientation="Horizontal" Padding="15, 15, 0, 0" IsVisible="{Binding Source={RelativeSource AncestorType={x:Type view:EdocumentsListViewModel}}, Path=NewDocumentsExists}">
    <Label Style="{StaticResource LabelTitleFontSize}" Text="Вибрати:" Margin="0, 0, 20, 0" />
    <Switch Scale="1.5" IsToggled="{Binding IsChecked}"  OnColor="LightGray" ThumbColor="{Binding SwitchColor}" />
</StackLayout>  

Основу взял здесь.

→ Ссылка