Как получить generic.xaml для Silverlight 3 и Silverlight 4? - PullRequest
1 голос
/ 21 июля 2011

Моя основная проблема с generic.xaml - это то, что Viewbox переместил сборки.

Как мне получить один файл generic.xaml с пространством имен для расположения Viewbox, который будет компилироваться в SL3 и SL4?

Я посмотрел на http://www.removingalldoubt.com/PermaLink.aspx/defa2a7d-b1e9-49eb-b8c8-438348be8d18, но безрезультатно ...

Примечание. Есть два атрибута XmlnsPrefix и XmlnsDefinition, которые вы можете поместить в Assembly.cs.

Заранее спасибо.

1 Ответ

0 голосов
/ 25 июля 2011

Наконец-то отказались от XmlnsDefinition и XmlnsPrefix, так как я не мог заставить их работать должным образом ... Было забавно, что в приложении WPF окно конструктора могло разрешать ссылки, но компилятор не мог ... перейти к рисунку.

Я решил использовать препроцессор cpp из блога ... http://blogs.msdn.com/b/blemmon/archive/2009/04/29/using-the-preprocessor-to-share-incompatible-xaml-between-sl-and-wpf-part-1.aspx

Я изменил PreprocessXaml для изменения только generic.xaml.

 <Target Name="PreprocessXaml">
<ItemGroup>
  <!-- Convert the DefineConstants property into an ItemGroup -->
  <XamlConstants Include="$(DefineConstants)" />
</ItemGroup>
<PropertyGroup>
  <!-- Convert the XamlConstants ItemGroup into a list command line switches for CL.exe -->
  <CommandLineDefineConstants>@(XamlConstants->'/D%(Identity)',' ')</CommandLineDefineConstants>
</PropertyGroup>
<!-- Run the preprocessor -->
<Exec Command="CL.exe /nologo /EP $(CommandLineDefineConstants) &quot;Themes/generic.i.xaml&quot; &gt; Themes/generic.xaml" />
<!-- Replace the pages with the preprocessed pages so that subsequent targets will use the preprocessed files -->

...