我正在开发Windows Phone 7.0的应用程序,我正在尝试添加一个示例设计数据文件,以便在使用visual studio时获得图形。 字符串或int类型工作正常,但自定义对象没有。
我解释说:
我有一个这样的类:(代表我的自定义对象)
public class CustomObject
{
public string Title { get; set; }
}
这是我的观点模型:
public class MainViewModel
{
public MainViewModel()
{
this.Custom= new CustomObject();
this.Custom.Title = "Hey, i'm the Runtime Custom";
}
public CustomObject Custom{ get; set; }
public string TestProperty { get; set; }
}
我创建了一个这样的示例数据文件:
<local:MainViewModel
xmlns:local="clr-namespace:Project.ViewModels"
TestProperty ="I'm the Design testProperty and I work">
<local:MainViewModel.Custom Title="Hey, i'm the Design Custom, and I don't work" />
</local:MainViewModel>
在我的应用程序的主页面中,我已将其添加到手机标记中:
d:DataContext="{d:DesignData SampleData.xaml}"
好吧,当我使用TestProperty变量(Text="{Binding TestProperty}"
)进行测试时,它工作正常,但是当我尝试使用我的对象(Text="{Binding Custom.Title}"
)时,它不起作用..
我找到的所有资源都不能谈论自定义对象。
有人有任何想法吗?
坦克。
PS:我尝试添加DesignData标签(最能描述我的问题),但我不允许:(
编辑:
没有编译,visual studio不显示任何内容,当我编译时,它显示Hey, i'm the Runtime Custom
...它绕过我的示例数据文件,但仅限于此自定义对象。
答案 0 :(得分:1)
试试这个:
<local:MainViewModel
xmlns:local="clr-namespace:Project.ViewModels"
TestProperty ="I'm the Design testProperty and I work"
xmlns:local2="clr-namespace:Project.NamespaceDefinitionOfTheCustomClass">
<local:MainViewModel.Custom>
<local2:Custom Title="Hey, i'm the Design Custom, and I don't work" />
</local:MainViewModel.Custom>
</local:MainViewModel>
如果你的类“Custom”没有在“MainViewModel”类的同一名称空间中定义,那么就像我一样添加名称空间声明,否则只删除它并将local2作用域重命名为local;
它对我有用。希望这对你有用。
答案 1 :(得分:0)
尝试稍微简单一些:
<local:MainViewModel
xmlns:local="clr-namespace:Project.ViewModels"
TestProperty ="I'm the Design testProperty and I work">
<local:Custom Title="Hey, i'm the Design Custom, and I don't work" />
</local:MainViewModel>