WPF contentcontrol теряет функциональность после присваивания содержимого null - PullRequest
2 голосов
/ 27 апреля 2010

Я написал приложение с несколькими представлениями. Модели представления назначаются «smartcontentcontrol», который является производным от contentcontrol и переопределяет метаданные contentproperty для обработки измененного события для этого свойства зависимости. Я добавил некоторые эффекты к этому обратному вызову для визуалов (renderbitmap и т. Д.). Теперь я расширил свою модель представления так, чтобы при назначении объекта в свойство содержимого smartcontentcotrol моя модель представления получала ссылку на объект smartcontentcontrol. Я реализовал это для того, чтобы моя модель представления могла закрывать себя.

Итак - в xaml у меня есть

<DataTemplate DataType="{x:Type viewmodel:MainViewModel}">
   <view:MainView/>
</DataTemplate>

<SmartContentControl Content="{Binding MainView}"/>

в C # я назначаю некоторый класс viewmodel этому свойству

MainView = new MainViewModel();
  • в этот момент все идет хорошо, и вид отображается с правой таблицей данных. Не только это, но и мой smartcontentcontrol триггеры - я получаю классную анимацию скольжения / затухания - именно то, что я ожидал - например - последний в коде, называющем это

    MainView = null;

смещает "старый" вид с пустотами. Все идет нормально! :) Теперь сложная часть, которую я не могу понять - Как только я напрямую назначу на

smartcontentcontrol.content = null

Все ломается, и назначение MainView больше не меняет представление и не вызывает измененное событие. Кажется, что привязка данных исчезла. Почему это так? Как мне обойти эту проблему?

...