I am creating a date picker in my code and want to change its background whenever its value is not valid(specified by IsValidFieldValue flag), but its not working .
Here is my code for creating the control and style :
| // Binding to be set for control |
| Binding binding = new Binding("Value"); |
| binding.Mode = BindingMode.TwoWay; |
| binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; |
| string datePickerXamlTemplate = "<telerik:RadDatePicker x:Name=\"uxDatePickerCustomField{0}\" Grid.Row=\"1\" Grid.Column=\"1\" Height=\"24\" HorizontalAlignment=\"Left\" Margin=\"8,5,8,5\" Width=\"125\" xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:telerik=\"clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Input\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" />"; |
| string datePickerXaml = string.Format(datePickerXamlTemplate, field.Id, count); |
| stream = new MemoryStream(ASCIIEncoding.Default.GetBytes(datePickerXaml)); |
| RadDatePicker datePicker = (RadDatePicker)System.Windows.Markup.XamlReader.Load(stream); |
| datePicker.SetBinding(RadDatePicker.SelectedDateProperty, binding); |
| datePicker.Style = (Style)FindResource("DatePickerStyle"); |
| datePicker.DataContext = field; // Object having properties - Value and IsValidFieldValue. Implements INotifyPropertyChanged |
| uxGrid.Children.Add(datePicker); // Added to a Grid |
| <UserControl.Resources> |
| <Style TargetType="{x:Type telerikInput:RadDatePicker}" x:Key="DatePickerStyle"> |
| <Style.Triggers> |
| <DataTrigger Binding="{Binding Path=IsValidFieldValue, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Value="false"> |
| <Setter Property="telerikInput:RadDatePicker.Background" Value="#FFFFB9B9" /> |
| </DataTrigger> |
| </Style.Triggers> |
| </Style> |
| </UserControl.Resources> |