Во-первых, я использую шаблон MVVM с библиотеками Prism. Моя оболочка приложения имеет два региона: область основной диаграммы, содержащую формы и элементы диаграммы, и вспомогательную область в виде рамки на левой стороне. Пока все хорошо: региональный менеджер правильно загружает регионы в мою оболочку.
Моя цель состоит в том, чтобы PropertyGrid во вспомогательной области отображал определенные свойства выбранного элемента диаграммы, который находится внутри холста внутри списка внутри основной области диаграммы. Одним из свойств элемента диаграммы является строка «Token». Я очень близок к тому, чтобы заставить его работать, и действительно, механизм предварительного просмотра XAML показывает все свойства в таблице свойств, когда я жестко кодирую свой элемент диаграммы как SelectedItem, к которому привязывается моя propertyGrid, но после запуска программы propertyrgid остается пустым. Другими словами, механизм предварительного просмотра XAML показывает желаемый результат, но после запуска программы результат не совпадает.
Тогда что может пойти не так?
XAML моей PropertyGrid:
<local:PropertyGrid AutomaticlyExpandObjects="False"
Width="200"
Margin="5"
x:Name="propertyGrid"
ShowDescription="False"
ShowPreview="False"
Instance="{Binding Path=SelectedItem}">
</local:PropertyGrid>
Код свойства в DataContext моей PropertyGrid:
/// <summary>
/// The state that is currently selected.
/// </summary>
public StateViewModel SelectedItem
{
get
{
return m_selectedItem;
}
set
{
if (m_selectedItem == value)
return;
m_selectedItem = value;
RaisePropertyChanged("SelectedItem");
}
}
Как я уже сказал, и что самое странное для меня, так это то, что механизм предварительного просмотра XAML правильно показывает свойства SelectedItems, как мне бы того хотелось, но после запуска программы сетка свойств остается пустой.
Кто-нибудь может помочь? Заранее спасибо.