除了我原來的帖子,我想我需要提到,我使用的是棱鏡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