Bonjour,
J'ai défini un style comme ceci, afin de gérer mes erreurs de validation:
et je l'attribue à differents Editor d'une lib graphique externe comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <Style x:Key="validationStyle" TargetType="{x:Type Control}"> <Setter Property="Validation.ErrorTemplate"> <Setter.Value> <ControlTemplate> <DockPanel LastChildFill="True"> <Border BorderBrush="Red" BorderThickness="1"> <AdornedElementPlaceholder /> </Border> </DockPanel> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="Validation.HasError" Value="true"> <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors), Converter={WPFTools:ValidationErrorsToStringConverter}}"/> </Trigger> </Style.Triggers> </Style>
ca donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <Style TargetType="{x:Type igEditors:XamComboEditor}" BasedOn="{StaticResource WPFTools:ValidationStyle.ValidationStyle}" /> <Style TargetType="{x:Type igEditors:XamMaskedEditor}" BasedOn="{StaticResource WPFTools:ValidationStyle.ValidationStyle}" /
MainLayout.xaml
Maintenant je voudrais que mon style soit dans un fichier XAML externe, pour pouvoir le reutiliser dans d'autres fenetres de mon appli:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 <UserControl x:Class="Pension.GUI.CreatePensionPanel" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:igEditors="http://infragistics.com/Editors" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:WPFTools="clr-namespace:WPFTools;assembly=WPFTools" Width="1280" Height="1024" Background="#FFD3E1EE" FontFamily="Arial" FontSize="11" FontWeight="Bold" Foreground="#FF215A74" > <UserControl.Resources> <Style x:Key="validationStyle" TargetType="{x:Type Control}"> <Setter Property="Validation.ErrorTemplate"> <Setter.Value> <ControlTemplate> <DockPanel LastChildFill="True"> <Border BorderBrush="Red" BorderThickness="1"> <AdornedElementPlaceholder /> </Border> </DockPanel> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="Validation.HasError" Value="true"> <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/> </Trigger> </Style.Triggers> </Style> <Style TargetType="{x:Type igEditors:XamComboEditor}" BasedOn="{StaticResource validationStyle}" /> <Style TargetType="{x:Type igEditors:XamMaskedEditor}" BasedOn="{StaticResource validationStyle}" /> </UserControl.Resources> <Grid> ... Mon Layout </Grid> <UserControl/>
J'ai donc créer un fichier StyleValidation.xaml
et desormais mon MainLayout.xaml devrait ressembler à:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:igEditors="http://infragistics.com/Editors" x:Class="WPFTools.ValidationStyle" xmlns:WPFTools="clr-namespace:WPFTools" > <Style x:Key="ValidationStyle" TargetType="{x:Type Control}"> <Setter Property="Validation.ErrorTemplate"> <Setter.Value> <ControlTemplate> <DockPanel LastChildFill="True"> <Border BorderBrush="Red" BorderThickness="1"> <AdornedElementPlaceholder /> </Border> </DockPanel> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="Validation.HasError" Value="true"> <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors), Converter={WPFTools:ValidationErrorsToStringConverter}}"/> </Trigger> </Style.Triggers> </Style> </ResourceDictionary>
Le problème c'est que ca me sort une erreur me disant que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <UserControl x:Class="Pension.GUI.CreatePensionPanel" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:igEditors="http://infragistics.com/Editors" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:WPFTools="clr-namespace:WPFTools;assembly=WPFTools" Width="1280" Height="1024" Background="#FFD3E1EE" FontFamily="Arial" FontSize="11" FontWeight="Bold" Foreground="#FF215A74" > <Style TargetType="{x:Type igEditors:XamComboEditor}" BasedOn="{StaticResource WPFTools:ValidationStyle.ValidationStyle}" /> <Style TargetType="{x:Type igEditors:XamMaskedEditor}" BasedOn="{StaticResource WPFTools:ValidationStyle.ValidationStyle}" / <Grid> ... Mon Layout </Grid> <UserControl/>Comment faire?WPFTools:ValidationStyle.ValidationStyle n'est pas connu.
Merci.
Partager