Вы также можете использовать Данные времени проектирования , чтобы обеспечить богатое взаимодействие в вашем решении.Его немного сложно настроить и запустить, но вот суть.
Во-первых, вы создаете свой DataContext в xaml.Добавьте новый Xml-документ к вашему решению (корневой каталог - хорошее место) и добавьте расширение .xaml.Давайте назовем этот файл «foo.xaml» для этого примера.
В этом файле удалите весь XML и начните создавать экземпляр вашего типа DataContext.Например, если ваш DataContext был строкой (очень простой пример), ваш файл выглядел бы следующим образом:
<string xmlns="clr-namespace:System;assembly=mscorlib">LOL!</string>
Вы могли бы выглядеть так:
<ViewModel xmlns="clr-namespace:MyNamespace">
<ViewModel.MyObservableCollection>
<MyModel Name="foo" />
<!-- etc -->
Установить действие сборкидля этого файла в DesignDataWithDesignTimeCreatableTypes:
Затем в вашем представлении добавьте следующие пространства имен и свойства в корень вашего Window / UserControl:
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DataContext="{d:DesignData Source=foo.xaml}"
Source
относительно текущего документа.Итак, если ваше решение выглядело как
вы бы установили Source
на ../Data/foo.xaml
.
Существуют и другие способы создания контекста DesignData в зависимости от того, можно ли создать экземпляр ViewModel при проектированиивремя и т. д.