帮助我理解。 我在VS2012中创建了SilverlightApplication1的模板。在我的解决方案文件夹中创建模型并添加类EmployeeTypes.cs。我需要在Xaml文件(Home.xaml)中调用EmployeeTypes.cs的实例。
我在Home.xaml中这样做:
<navigation:Page x:Class="SilverlightApplication1.Home"
xmlns:local="clr-namespace:SilverlightApplication1.Models"
....
....
然后我这样做(所有这些都根据教程http://weblogs.asp.net/psheriff/archive/2012/04/09/silverlight-tree-view-with-multiple-levels.aspx):
<local:EmployeeTypes x:Key=" employeeTemplate"/>
这里VS2012说:'找不到本地:EmployeeTypes'。验证您是否缺少程序集引用,并且已构建所有引用的程序集。
我哪里错了???
EmployeeTypes.cs
namespace SilverlightApplication1.Models
{
public class EmpolyeeTypes : List<EmployeeType>
{
public EmpolyeeTypes()
{
EmployeeType type;
type=new EmployeeType("Manager");
type.Employees.Add(new Employee("Michael"));
type.Employees.Add(new Employee("Paul"));
this.Add(type);
type = new EmployeeType("Project Managers");
type.Employees.Add(new Employee("Tim"));
type.Employees.Add(new Employee("John"));
type.Employees.Add(new Employee("David"));
this.Add(type);
}
}
}
<navigation:Page x:Class="SilverlightApplication1.Home"
xmlns:local="clr-namespace:SilverlightApplication1.Models"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480"
Title="Home"
Style="{StaticResource PageStyle}">
<local:EmployeeTypes x:Key=" employeeTemplate"/>
.......
.......
<Grid x:Name="LayoutRoot">
</Grid>
答案 0 :(得分:2)
尝试将其移至一个UI控件的Resources
,例如Resources
的{{1}}:
Grid
或页面的<Grid x:Name="LayoutRoot">
<Grid.Resources>
<local:EmployeeTypes x:Key=" employeeTemplate"/>
</Grid.Resources>
</Grid>
:
Resources
PS:我的答案来自Windows Phone和WPF背景,在silverlight中可能有所不同。不确定。