Csharp MVVM projesinde çalışıyorum ve DataMetels modelinde değil, modellerde Data.Annotations yönergesinin kullanılmasının mümkün olup olmadığını bilmek istiyorum. Öyleyse nasıl ?Veri ek açıklamaları doğrudan modellerde nasıl kullanılır?
[Dapper.Key]
[Required(ErrorMessage = "This field is requierd")]
[Range(1, int.MaxValue, ErrorMessage ="Only Int")]
public int? Tic_Id { get; set; }
[Required(ErrorMessage = "This field is requierd")]
public DateTime Tic_Date { get; set; }
Benim ViewModel (kullanmak IDataErrorInfo):
[RaisePropertyChanged]
public virtual Ticket FicheItem {get;set;}
Ve Görünüm
<!-- ID -->
<TextBlock Grid.Row="1" Text="ID :" Style="{StaticResource FicheLabelStyle}"/>
<TextBox Name="ID" Grid.Row="1" Grid.Column="1"
IsEnabled="True"
Text="{Binding FicheItem.Tic_Id, UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True,NotifyOnValidationError=True,Mode=TwoWay}"
Style="{StaticResource FicheTextboxStyleNumber}"/>
<TextBlock Grid.Column="1" Grid.Row="2" Name="IDError" Text="{Binding (Validation.Errors)[0].ErrorContent, ElementName=ID}" Foreground="Red" Margin="19,3,0,0"
Visibility="{Binding ElementName=IDError, Path=Text,Converter={StaticResource FicheErrorVisibilityConverter},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<!-- Date -->
<TextBlock Grid.Row="3" Text="Date :" Style="{StaticResource FicheLabelStyle}"/>
<TextBox Grid.Row="3" Grid.Column="1" Name="Date"
Text="{Binding FicheItem.Tic_Date, ValidatesOnDataErrors=True, NotifyOnValidationError=True,UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource FicheTextboxStyleText}" />
<TextBlock Grid.Column="1" Grid.Row="4" Name="DateError" Text="{Binding (Validation.Errors)[0].ErrorContent, ElementName=Date}" Foreground="Red" Margin="19,3,0,0"
Visibility="{Binding ElementName=DateError, Path=Text,Converter={StaticResource FicheErrorVisibilityConverter},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
Ama bunu
O, Benim Modeli (sınıf Bilet) gibi düşünce çalışmıyor ...
Modelleri doğrudan görünümlerinizde kullanmayın, Görünüm ve Model'den sıkı bir bağlantı oluşturur. MVVM'nin temel amacı onları çözmektir. – Tseng
Tamam, Modelimin özelliklerini viewModel öğesinde ayırmalı ve veri ek açıklamalarını kullanmalıyım. Ama bir orm (dapper) kullanarak, belirli bir anda, bir nesnede birlikte olmalıyım? örnek: cnn.Insert (myObject). Her seferinde bunu yapabilirim, yeni Öğe {prop = ayrı mülküm ....} yani çok fazla alanım varsa ... –