2013-07-19 4 views
0

Я работаю на UserControl в Silverlight проекта в Visual Studio 2010.Как объявить этикетки в XAML для использования как в WPF и Silverlight

Этот пользовательский элемент управления использует Labels следующим образом:

<sdk:Label .../> 
-or- 
<sdk:Label> 
    singleObject 
</sdk:Label> 
-or- 
<sdk:Label>stringContent</sdk:Label> 

как описано here

Однако, когда я создаю проект ссылку WPF это для проекта Silverlight Library:

(по дополни нг существующие элементы (Добавить ссылку) к классам ц.п. и .xaml файл, определяющий элемент управления)

Я получаю следующее сообщение об ошибке в сборке:

Тег «Этикетка» не существует в пространстве имен XML «» http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk , Строка 49 Позиция 18. myfile.xaml 49 18 MyLibraryWPF

эту doc показывает, что метки в WPF объявляются без sdk:

как это:

<Label> 
    Content 
</Label> 

все же, я не могу изменить, что в моем Silverlight. Это будет реальная трата для создания целого нового проекта и дублирования кода, чтобы он работал.

Как заставить эти ярлыки работать как с проектами Silverlight, так и с WPF?

+2

Если вы хотите повторно использовать xaml, вам нужно настроить таргетинг на «самый низкий общий», иначе Silverlight. Не включайте элементы управления инструментариями. Для ярлыка вы можете использовать TextBlock –

+0

, но TextBlocks не имеют цветов фона –

+0

@Saher: у них есть цвет фона. Nitesh

ответ

0

Вот кусок кода в XAML, которые могут быть разделены на WPF и Silverlight и выглядит как этикетка с фоновой coloe:

<Border Margin="3,0,3,3" Background="#FF00B050"> 
       <TextBlock Text="txt122" FontSize="13" FontWeight="SemiBold" Height="21" Name="label15" Width="133" ></TextBlock> 
      </Border> 

Это означает, что этикетка не может быть использовано в общей XAML.

Смежные вопросы