Пожалуйста, потерпите меня, я очень мало знаю о WPF, поэтому я могу быть далеко от цели ...
В настоящее время статический ресурс определен следующим образом:
<XmlDataProvider
x:Key="staticData"
Source="http://someurl/desktopservices/some.xml"
XPath="/menu"/>
Это связано с управлением меню следующим образом:
<Menu
ItemsSource="{Binding Source={StaticResource staticData}}"
x:Name="MyMenu" />
Все хорошо.
Теперь я определяю модель представления и создаю XmlDataProvider как свойство vm:
public class ViewModel : INotifyPropertyChanged
{
private readonly XmlDataProvider dataProvider;
public ViewModel()
{
var document = new XmlDocument();
document.Load("http://someurl/desktopservices/some.xml");
dataProvider = new XmlDataProvider
{
Document = document,
XPath = @"/menu"
};
}
public XmlDataProvider DataProvider
{
get
{
return dataProvider;
}
}
//....
}
Затем модель представления определяется в XAML как другой StaticResource:
<local:ViewModel x:Key="vm"/>
Как изменить привязку к свойству DataProvider
модели представления? Я бы ожидал:
<Menu
ItemsSource="{Binding DataProvider, Source={StaticResource vm}}"
x:Name="MyMenu" />
(я пробовал другие комбинации ... это тот, который не ошибается ... однако ничто не связывается)