除了我原来的帖子,我想我需要提到,我使用的是棱镜6.3。显然,编译器不喜欢添加到元数据类中的东西,它不在原始的部分中。不知道如何解决这个问题。 再次感谢...编辑获取最基本的MetaDataType的工作
好吧,我给,UNCLE!
我想添加数据注释到我的wpf实体框架应用程序。我已经尝试了6种方式,周日没有运气。我把我认为最简单的例子放在一起,并遵循所有的指示......没有任何工作。 在这里。 我有一个由EF(db第一个)生成的类。
namespace junk.DataModels
{
public partial class MyClass
{
public string SomeText { get; set; }
}
}
我有以下的局部类的另一个文件:
namespace junk.DataModels
{
[MetadataType(typeof(MyClassMetaData))]
public partial class MyClass
{
}
public partial class MyClassMetaData
{
private string _someText;
[Required(ErrorMessage = "Required")]
public string SomeText
{
get { return _someText; }
set { SetProperty(ref _someText, value); }
}
}
}
在我的ViewModel我定义:
private MyClass _mc;
public MyClass MC
{
get { return _mc; }
set
{
SetProperty(ref _mc, value);
}
}
并在构造函数:
MC = new MC();
MC.SomeText = "Hello World.";
最后,在我的xaml:
我有一个绑定控件:
<TextBox x:Name="txt" Text="{Binding MC.SomeText,
ValidatesOnDataErrors=True,
ValidatesOnExceptions=True,
ValidatesOnNotifyDataErrors=True,
UpdateSourceTrigger=PropertyChanged }"
/>
根据一切我读过,如果我跑这并清除文本框,我应该得到验证错误。我尝试了所有“ValidatesOn”的组合,它似乎没有什么区别。有人可以怜悯我,分享秘诀吗?我必须错过简单的东西。如果我绑定到metadataclass它的作品,但是这有点击败目的。
任何帮助将是伟大的!
的可能的复制(https://stackoverflow.com/questions/1755340/validate-data-using-dataannotations-with-wpf-entity-framework ) – Haukinger