Проблема с пространством имен в XAML (Silverlight)
От: Makaka  
Дата: 23.05.11 12:42
Оценка:
Всем привет

Имеем установленный Silverlight toolkit Apr 2010
Имеем элементарный проект в который я добавляю Expander
В проект добавлена ссылка на библиотеку, проверил что ссылается на верный файл (C:\Program Files (x86)\Microsoft SDKs\Silverlight\v4.0\Toolkit\Apr10\Bin\System.Windows.Controls.Toolkit.dll)
Компилируется хорошо


При запуске Debug вылезает ошибка:

XamlParseException
Тип "Expander" не найден, поскольку пространство имен "clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit" неизвестно. [Line: 11 Position: 26]




при этом библиотеку VS2010 видит: если я захожу в редактор XAML, то Expander нормально отображается


Ниже мой код.
Если я убираю Expander из XAML файла и добавляю его кодом из C# файла — все работает хорошо, проект компилируется и в браузере я вижу Expander

<UserControl x:Class="ruTender_SilverlightControls.ruTender.Controls.SearchControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400"
    xmlns:bestTool="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit">

    <Grid x:Name="LayoutRoot" Background="White">
        <bestTool:Expander Header="lalala"></bestTool:Expander>               
    </Grid>
</UserControl>



using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace ruTender_SilverlightControls.ruTender.Controls {
    public partial class SearchControl : UserControl {
        public SearchControl() {
            InitializeComponent();
        }
    }
}






В чем проблема? Что не так может быть?
Re: Проблема с пространством имен в XAML (Silverlight)
От: Makaka  
Дата: 23.05.11 13:04
Оценка: 1 (1)
все. проблема решена.
Проблема оказалась элементарной


Для справки — может кому поможет
у меня было два проекта:
1. silverlight class library
в нем описан контрол, который использует Expander из Silverlight toolkit

2. silverlight app
в нем в mainPage вставляется этот, созданный мной, контрол


Надо было добавлять ссылку на System.Windows.Controls.Toolkit в обоих проектах, а не только в первом....

Детская проблема освоения C# и silverlight )))
Re[2]: Проблема с пространством имен в XAML (Silverlight)
От: henson Россия http://www.njt-rails.com
Дата: 23.05.11 16:48
Оценка: :)
Здравствуйте, Makaka, Вы писали:

M>все. проблема решена.

M>Проблема оказалась элементарной


M>Для справки — может кому поможет

M>у меня было два проекта:
M>1. silverlight class library
M>в нем описан контрол, который использует Expander из Silverlight toolkit

M>2. silverlight app

M>в нем в mainPage вставляется этот, созданный мной, контрол


M>Надо было добавлять ссылку на System.Windows.Controls.Toolkit в обоих проектах, а не только в первом....


M>Детская проблема освоения C# и silverlight )))


Уф, слава Богу, а то я уж подумал баг в WPF
Re: Проблема с пространством имен в XAML (Silverlight)
От: demigor  
Дата: 28.11.11 17:44
Оценка:
Советую для всего тулкита использовать http namespaces:

xmlns:tk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"

Для SDK контролей:

xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
Re[2]: Проблема с пространством имен в XAML (Silverlight)
От: Vaako Украина  
Дата: 31.01.12 14:24
Оценка:
Здравствуйте, demigor, Вы писали:

D>Советую для всего тулкита использовать http namespaces:


D>xmlns:tk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"


D>Для SDK контролей:


D>xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"


А в чем разница. Разве это хуже чем ссылка на namespace в DLL?
Например как-то так:
xmlns:control="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.