Могу ли я поделиться элементом управления TreeView с Silverlight и WPF? - PullRequest
1 голос
/ 28 июня 2010

Я хотел бы использовать элемент управления TreeView набора инструментов WPF и Silverlight, но он должен быть в том же файле xaml, который я разделяю между двумя проектами в качестве ссылки. В Silverlight класс находится в System.Windows.Controls.dll, а в WPF - в PresentationFramework.dll. Так что для моего пространства имен xaml их нужно объявлять по-разному, что вызывает проблемы. Есть ли способ заставить это работать?

Ответы [ 3 ]

0 голосов
/ 25 января 2011

Вы пытались использовать символ условной компиляции #if !SILVERLIGHT.

Пожалуйста, проверьте следующие ссылки.http://msdn.microsoft.com/en-us/magazine/ee321573.aspx
Какова наилучшая практика для компиляции Silverlight и WPF в одном проекте?

0 голосов
/ 14 ноября 2011

Я написал статью в блоге об обмене .xaml файлами.Идея заключается в создании прокси-элемента управления в исходном коде и использовании этого элемента управления в .xaml:

namespace UnifiedXaml
{
    public class MyWrapPanel: WrapPanel { }
}

<UserControl x:Class="UnifiedXaml.TestControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:ux="clr-namespace:UnifiedXaml">
    <ux:MyWrapPanel></ux:MyWrapPanel>
</UserControl>
0 голосов
/ 28 июня 2010

AFAIK, вы не сможете этого сделать, сборки Silverlight и сборки .NET несовместимы друг с другом (хотя XAML может быть похожим, но пространства имен, как вы заметили, различаются).

...