2013-03-29 4 views
-1

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

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

В странице A.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

Какая ошибка? –

+1

Возможно, вам просто не хватает пространства имен d: '(designtime). –

+0

жаль, что вы не добавили фактическое сообщение об ошибке. и ты прав, я пропустил d :. все хорошо сейчас. спасибо и извините. –

ответ

0

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