Представляет ли Expression Blend и Visual Studio элементы управления WPF по-разному? - PullRequest
4 голосов
/ 18 августа 2011

В своем приложении WPF я разработал форму, используя Expression Blend.К моему удивлению, рендеринг сильно отличается, когда я загружаю решение с использованием Visual Studio 2008. Что еще более удивительно, когда я запускаю приложение, полученный интерфейс отличается от рендеринга, выполняемого как VS, так и Blend.Хотя я не предоставил код XAML, но в целом это известная проблема?

1 Ответ

3 голосов
/ 18 августа 2011

Это определенно известная проблема. Visual Studio использует так называемый конструктор Cider для визуализации кода WPF. Это определенно делает XAML отличным от Blend. Cider в VS2008 довольно ужасен, но в 2010 году становится намного лучше (но все еще довольно ужасен по сравнению с Blend). Одно из основных отличий Cider от Blend заключается в том, что Cider будет читать код файла (* .xaml.cs), а Blend будет полностью его игнорировать. Еще одно заметное отличие состоит в том, что Cider на самом деле не понимает такие вещи, как Visual States и Blend SDK Behaviors (особенно когда вы смешиваете их), в то время как Blend полностью их понимает.

Если вы создаете свои классы представлений, в которых вы устанавливаете свой DataContext в XAML, а затем предоставляете данные времени разработки (используя Blend или локатор модели представлений), вы обнаружите, что между Blend и тем, как что-то есть, очень мало различий. смотрит на время выполнения.

...