Как мне создать глобальный объект в xaml?

У меня есть приложение для навигации wpf. У меня есть объект, к которому я хочу получить доступ с разных страниц. В настоящее время объект доступен только со страницы, которая его создает.

Вот что я сделал.

На странице А.xaml

Я определил на странице так

<UserControl.Resources>
    <local:SerialComm x:Key="SerialCommDataSource" d:IsDataSource="True" />
</UserControl.Resources>

Вышеуказанный метод работает, за исключением того, что область действия ограничена только страницей. Я хочу иметь возможность получить доступ к объекту с любой другой страницы.

Я использую объект на странице так

<Grid Style="{StaticResource ContentRoot}" DataContext="{Binding Source={StaticResource SerialCommDataSource}}" >
    <TextBox x:Name="tbbaudRate" Height="23" TextWrapping="Wrap" MinWidth="200" Text="{Binding SerialPort.BaudRate}" />
</Grid>

Я хочу поместить ресурс в App.xaml, чтобы я мог получить к нему доступ в любом месте.

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Blah;component/Assets/Blah.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
    <local:SerialComm x:Key="SerialCommDataSource" d:IsDataSource="True" /> <--Error here
</Application.Resources>

Как мне создать глобальный объект в xaml? Объект должен иметь возможность редактировать где угодно, а отредактированные значения обновляются. Я прочитал, что нельзя создать объект в коде позади и получить к нему доступ в любом месте в xaml. Так как мне сделать это в xaml?

1 ответ

Проблема отсутствует в пространстве имен d:

Другие вопросы по тегам