В wpf можно ли получить доступ к DataContext текущей страницы кадра? Если ДА, как?Возможно ли получить доступ к DataContext текущей страницы кадра? Как?
Если нет, то что я должен использовать в качестве замены для фрейма, чтобы получить доступ к его DataContext?
Если что-то неясно, сообщите мне.
Обновление: Для разъяснения
Я имею в MainWindow.xaml
в Frame
. Я хочу получить доступ к DataContext
текущей странице, отображаемой в Frame
. Скажем так, я хочу показать свойство string
с именем названиеViewModel
текущей страницы. (Предположим, что каждая страница»ViewModel
имеет название собственности)
Update: Вот моя MainWindow.xaml
<Window x:Class="Libertalia.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
.
.
.
DataContext="{Binding Main, Source={StaticResource Locator}}"
>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<Grid>
<Frame Panel.ZIndex="1" x:Name="MainFrame" JournalOwnership="OwnsJournal" NavigationUIVisibility="Hidden" Source="View/BlankPage.xaml" />
</Grid>
</ScrollViewer>
</Window>
код страницы (только один из него, просто образец):
<Page x:Class="Libertalia.View.LoginView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:behaviors="clr-namespace:Libertalia.Behavior"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
.
.
.
DataContext="{Binding Page1, Source={StaticResource Locator}}"
<DockPanel Margin="200" >
</DockPanel>
</Page>
UPDATE: Модель, Вид и ViewModel Отношения
MainWindow.xaml
(Просмотреть) привязан кMainViewModel.cs
(ViewModel). Короче говоря,MainWindow.xaml's
DataContext
являетсяMainViewModel.cs
MainWindow.xaml
(View) имеетFrame
Frame
имеетPage
(View).Frame
имеет много страниц, отображаемых по одному.Page
имеет свою собственную ViewModel (DataContext
)
Что я хочу сделать:
- доступа текущей страницы»(в кадре)
DataContext
изDataContext
в MainWindow (MainViewModel).
Вы имеете в виду доступ к DataContext кода View из View? –
Нет, я хочу получить доступ к 'DataContext' страницы из' MainWindow.xaml' (родительский элемент 'Frame'). – someone
Что вы подразумеваете под «страницей»? – LordWilmore