Name Visability in XAML & Code Behind

H

hufaunder

In XAML you can give a name to each element so you can access it in
the code behind file. This works fine for a WPF application but not a
Windows Form application. Here is what I do:

1) Create a new WinForm application project
2) Add a new WPF User Control
3) In the XAML file give the grid a name, i.e. <grid Name="grid1">
4) In the code behind file trying to add this.grid1 but it's not
picked up.

Another strange thing is that when I try to compile the project it
does not see InitializeComponent. It says "The name
InitializeComponent does not exist in the current context". I guess
the two problem are related but how do I get it to work?

Again, if in 1) I create a WPF project everything works just fine.

Thanks
 
G

Guest

1. From command line, go to project folder
2. Notepad .csproj (or "vbproj")
3. In the csproj file, find this line:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
4. Under this line, add the following line:
<Import Project="$(MSBuildBinPath)\Microsoft.WinFx.targets" />
5. Now your project should compile without saying 'cannot find Initialize
Component'
6. After the first compile, you should be able to access the elements
defined in Xaml by using their name from code behind.

Thx
 
H

hufaunder

1. From command line, go to project folder
2. Notepad .csproj (or "vbproj")
3. In the csproj file, find this line:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
4. Under this line, add the following line:
<Import Project="$(MSBuildBinPath)\Microsoft.WinFx.targets" />
5. Now your project should compile without saying 'cannot find Initialize
Component'
6. After the first compile, you should be able to access the elements
defined in Xaml by using their name from code behind.

Thx

--
Developer,
Microsoft Office









- Show quoted text -

Wow, thanks. Don't know how I would have figured that out...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top