Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > Avalon

Vista - DataBinding to object in external assembly

 
 
Old 02-13-2007   #1 (permalink)
Philipp Schmid


 
 

DataBinding to object in external assembly

For the live of me I cannot get a simple databinding scenario to work! Here
are my repro steps:

1. Create WPF Application solution (say WindowsApplication1).
2. Create class library project w/in the same solution (ClassLibrary1)
3. Implement a simple class in ClassLibrary1:

namespace ClassLibrary1
{
public class Class1
{
public Class1() { }

private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
}
}


4. Add a project reference to WindowsApplication1 using the project tab and
referencing ClassLibrary1.

5. Add the following to Window1.xaml


<? Mapping XmlNamespace="eco" ClrNamespace="ClassLibrary1"
Assembly="ClassLibary1" ?>
< Window x:Class =" WindowsApplication2.Window1"
xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml"
Title= "WindowsApplication2" Height="300" Width="300"
xmlns:eco ="eco"
>

< Window.Resources >
<eco:Class1 x:Name =" foo" />
</ Window.Resources >
< Grid>
</ Grid>
</ Window>

For me this results in the following compilation error:

Error 2 The tag 'Class1' does not exist in XML namespace 'eco'. Line 9
Position 6. c:\temp\WindowsApplication2\WindowsApplication2\Window1.xaml 9 6
WindowsApplication2

What am I missing? Clearly it doesn't understand the reference to
ClassLibrary1.dll. I've tried linking directly before with the same result.
Signing the assembly also doesn't seem to have an effect (I haven't tried the
fully qualified name yet).

BTW, these repro steps are a simplification of a more extensive scenario
involving ObservableReadOnlyCollection<T> to bind to a ListBox.

-- Philipp Schmid

My System SpecsSystem Spec
Old 02-14-2007   #2 (permalink)
Julie Knibbe


 
 

Re: DataBinding to object in external assembly

For me it works just fine.

Try to use another mapping syntax :
xmlns:eco="clr-namespace:ClassLibrary1;assembly=ClassLibrary1"

See
http://www.sellsbrothers.com/writing...hangeNotes.htm



"Philipp Schmid" <PhilippSchmid@discussions.microsoft.com> a écrit dans le
message de news: F6C6D426-8D5A-47D8-8073-6BFCEF8E6C34@microsoft.com...
> For the live of me I cannot get a simple databinding scenario to work!
> Here
> are my repro steps:
>
> 1. Create WPF Application solution (say WindowsApplication1).
> 2. Create class library project w/in the same solution (ClassLibrary1)
> 3. Implement a simple class in ClassLibrary1:
>
> namespace ClassLibrary1
> {
> public class Class1
> {
> public Class1() { }
>
> private string _name;
> public string Name
> {
> get { return _name; }
> set { _name = value; }
> }
> }
> }
>
>
> 4. Add a project reference to WindowsApplication1 using the project tab
> and
> referencing ClassLibrary1.
>
> 5. Add the following to Window1.xaml
>
>
> <? Mapping XmlNamespace="eco" ClrNamespace="ClassLibrary1"
> Assembly="ClassLibary1" ?>
> < Window x:Class =" WindowsApplication2.Window1"
> xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
> xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml"
> Title= "WindowsApplication2" Height="300" Width="300"
> xmlns:eco ="eco"
> >

> < Window.Resources >
> <eco:Class1 x:Name =" foo" />
> </ Window.Resources >
> < Grid>
> </ Grid>
> </ Window>
>
> For me this results in the following compilation error:
>
> Error 2 The tag 'Class1' does not exist in XML namespace 'eco'. Line 9
> Position 6. c:\temp\WindowsApplication2\WindowsApplication2\Window1.xaml 9
> 6
> WindowsApplication2
>
> What am I missing? Clearly it doesn't understand the reference to
> ClassLibrary1.dll. I've tried linking directly before with the same
> result.
> Signing the assembly also doesn't seem to have an effect (I haven't tried
> the
> fully qualified name yet).
>
> BTW, these repro steps are a simplification of a more extensive scenario
> involving ObservableReadOnlyCollection<T> to bind to a ListBox.
>
> -- Philipp Schmid



My System SpecsSystem Spec
Old 02-14-2007   #3 (permalink)
Philipp Schmid


 
 

Re: DataBinding to object in external assembly

Indeed this works for me! I was looking at some older examples.

-- Philipp Schmid


"Julie Knibbe" wrote:

> For me it works just fine.
>
> Try to use another mapping syntax :
> xmlns:eco="clr-namespace:ClassLibrary1;assembly=ClassLibrary1"
>
> See
> http://www.sellsbrothers.com/writing...hangeNotes.htm
>
>
>
> "Philipp Schmid" <PhilippSchmid@discussions.microsoft.com> a écrit dans le
> message de news: F6C6D426-8D5A-47D8-8073-6BFCEF8E6C34@microsoft.com...
> > For the live of me I cannot get a simple databinding scenario to work!
> > Here
> > are my repro steps:
> >
> > 1. Create WPF Application solution (say WindowsApplication1).
> > 2. Create class library project w/in the same solution (ClassLibrary1)
> > 3. Implement a simple class in ClassLibrary1:
> >
> > namespace ClassLibrary1
> > {
> > public class Class1
> > {
> > public Class1() { }
> >
> > private string _name;
> > public string Name
> > {
> > get { return _name; }
> > set { _name = value; }
> > }
> > }
> > }
> >
> >
> > 4. Add a project reference to WindowsApplication1 using the project tab
> > and
> > referencing ClassLibrary1.
> >
> > 5. Add the following to Window1.xaml
> >
> >
> > <? Mapping XmlNamespace="eco" ClrNamespace="ClassLibrary1"
> > Assembly="ClassLibary1" ?>
> > < Window x:Class =" WindowsApplication2.Window1"
> > xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
> > xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml"
> > Title= "WindowsApplication2" Height="300" Width="300"
> > xmlns:eco ="eco"
> > >

> > < Window.Resources >
> > <eco:Class1 x:Name =" foo" />
> > </ Window.Resources >
> > < Grid>
> > </ Grid>
> > </ Window>
> >
> > For me this results in the following compilation error:
> >
> > Error 2 The tag 'Class1' does not exist in XML namespace 'eco'. Line 9
> > Position 6. c:\temp\WindowsApplication2\WindowsApplication2\Window1.xaml 9
> > 6
> > WindowsApplication2
> >
> > What am I missing? Clearly it doesn't understand the reference to
> > ClassLibrary1.dll. I've tried linking directly before with the same
> > result.
> > Signing the assembly also doesn't seem to have an effect (I haven't tried
> > the
> > fully qualified name yet).
> >
> > BTW, these repro steps are a simplification of a more extensive scenario
> > involving ObservableReadOnlyCollection<T> to bind to a ListBox.
> >
> > -- Philipp Schmid

>
>
>

My System SpecsSystem Spec
 

Thread Tools


Similar Threads
Thread Forum
Inherit from usercontrol - Object not set to instance of an object .NET General
datalist -- Object reference not set to an instance of an object. .NET General
Testing object arrays using Compare-Object and -contains PowerShell
Adding canonical aliases for Compare-Object, Measure-Object, New-Object PowerShell


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46