Silverlight 在Xaml中调用类的实例
帮我理解。 我在VS2012中创建了SilverlightApplication1的模板。在“我的解决方案”文件夹中创建模型并添加EmployeeTypes.cs类。我需要在Xaml文件(Home.Xaml)中调用EmployeeTypes.cs的实例 我在Home.xaml中这样做:Silverlight 在Xaml中调用类的实例,silverlight,xaml,Silverlight,Xaml,帮我理解。 我在VS2012中创建了SilverlightApplication1的模板。在“我的解决方案”文件夹中创建模型并添加EmployeeTypes.cs类。我需要在Xaml文件(Home.Xaml)中调用EmployeeTypes.cs的实例 我在Home.xaml中这样做: <navigation:Page x:Class="SilverlightApplication1.Home" xmlns:local="clr-namespace:SilverlightApp
<navigation:Page x:Class="SilverlightApplication1.Home"
xmlns:local="clr-namespace:SilverlightApplication1.Models"
....
....
尝试将其移动到一个UI控件的资源
,例如网格的资源
:
<Grid x:Name="LayoutRoot">
<Grid.Resources>
<local:EmployeeTypes x:Key=" employeeTemplate"/>
</Grid.Resources>
</Grid>
PS:我的答案来自Windows Phone和WPF背景,在silverlight中可能会有所不同。不确定。只是猜测一下,EmployeeTypes类是否有默认的无参数构造函数?我添加了文件!没有参数的构造函数。您将此代码放在哪里:
?我看您的代码中有一个输入错误:EmpolyeeTypes!=本地:员工打字成功!哇!现在我需要理解为什么有必要这样做。一般来说,XAML是放置UI控件(用户可见的东西)的地方。在这种情况下,您需要放置一个对象(任何对象,也可以是UI控件的实例),而不是像这样显示给用户。它必须在资源下
,您可以稍后通过引用它的键
来访问它。如果我的解释不够好,请检查此项。还有一个简单的解释是,这是资源内容的语法:
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>
<Grid x:Name="LayoutRoot">
<Grid.Resources>
<local:EmployeeTypes x:Key=" employeeTemplate"/>
</Grid.Resources>
</Grid>
<navigation:Page
......
>
<navigation:Page.Resources>
<local:EmployeeTypes x:Key=" employeeTemplate"/>
</navigation:Page.Resources>
</navigation:Page>