Bonjour à tous,

Dans un contexte d'application WPF avec la couche MVVM light de Galasoft, dans VS, dans le désigner xaml d'un des écrans, je me ramasse l'erreur suivante à la place du rendu :
XamlObjectWriterException: Unresolved reference 'ProxyElement6'.
Unresolved reference 'ProxyElement3'.
Unresolved reference 'ProxyElement2'.
Unresolved reference 'ProxyElement1'.
Unresolved reference 'ProxyElement5'.
Unresolved reference 'ProxyElement4'.

StackTrace
at System.Xaml.XamlObjectWriter.ThrowUnresolvedRefs(IEnumerable`1 unresolvedRefs)
   at System.Xaml.XamlObjectWriter.CompleteNameReferences()
   at System.Xaml.XamlObjectWriter.WriteEndObject()
   at System.Xaml.XamlWriter.WriteNode(XamlReader reader)
   at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlReader templateReader, XamlObjectWriter currentWriter)

InnerException: None
le bloc de code xaml concerné :
Code xaml : 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<UserControl x:Class="MaView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 
             xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF45"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:System="clr-namespace:System;assembly=mscorlib"
             mc:Ignorable="d" 
             xmlns:local="clr-namespace:MonNamespace"
             xmlns:converters="clr-namespace:MonNamespace.Converters"
             local:VisualStates.CurrentState="{Binding CurrentState}"
             d:DataContext="{d:DesignInstance local:MaViewModel}"
             d:DesignHeight="500" 
             d:DesignWidth="800">
 
    <UserControl.Resources>
        <ObjectDataProvider x:Key="MigrationDataSourceTypes"       
                            MethodName="GetValues" 
                            ObjectType="{x:Type System:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type TypeName="local:DataSourceType"/>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
        <BooleanToVisibilityConverter x:Key="BoolToVis"/>
        <converters:InverseBooleanConverter x:Key="InvBoolConv"></converters:InverseBooleanConverter>
        <BitmapImage x:Key="WarningImage" UriSource="/Img/Dialog-Warning.png" />
    </UserControl.Resources>
 
    <!-- Root Layout -->
    <Grid Background="{StaticResource AccentColorBrush1}">
      ......
      <DockPanel Grid.Column="1" Grid.Row="1" Margin="0,10,0,10">
        <DockPanel DockPanel.Dock="Top" Background="Transparent">
          <DockPanel.ContextMenu>
            <ContextMenu x:Name="SelectColonnes" StaysOpen="True">
                <MenuItem Header="Version BaseInit" IsCheckable="True" IsChecked="{Binding ColVerBaseIsVisible, Mode=TwoWay}" />
                <MenuItem Header="Version Fichiers txt" IsCheckable="True" IsChecked="{Binding ColVerFichIsVisible, Mode=TwoWay}" />
                <MenuItem Header="Migrateur créateur" IsCheckable="True" IsChecked="{Binding ColCreateIsVisible, Mode=TwoWay}" />
                <MenuItem Header="Dernier migrateur" IsCheckable="True" IsChecked="{Binding ColModifIsVisible, Mode=TwoWay}" />
                <MenuItem Header="Date dernière modification" IsCheckable="True" IsChecked="{Binding ColDateDerModifIsVisible, Mode=TwoWay}" />
                <MenuItem Header="BkpSrv" IsCheckable="True" IsChecked="{Binding ColBkpCountIsVisible, Mode=TwoWay}" />
            </ContextMenu>
          </DockPanel.ContextMenu>
            <TextBlock Text="" Style="{StaticResource ListItemTextBlockStyle}" DockPanel.Dock="Right" Width="16" HorizontalAlignment="Left"
    					Visibility="Visible"/>
            <TextBlock Text="Nb Bkp" Style="{StaticResource ListItemTextBlockStyle}" DockPanel.Dock="Right" Width="25" HorizontalAlignment="Left"
    					Visibility="{Binding ColBkpCountIsVisible, Converter={StaticResource BoolToVis}, UpdateSourceTrigger=PropertyChanged}"
                               ToolTip="Jaune = incohérence entre bkp bdd et bkp serveur"/>
            <TextBlock Text="Der. Modif." Style="{StaticResource ListItemTextBlockStyle}" DockPanel.Dock="Right" Width="105" HorizontalAlignment="Left"
    					Visibility="{Binding ColDateDerModifIsVisible, Converter={StaticResource BoolToVis}, UpdateSourceTrigger=PropertyChanged}"/>
            <TextBlock Text="Modifiée par" Style="{StaticResource ListItemTextBlockStyle}" DockPanel.Dock="Right" Width="120" HorizontalAlignment="Left"
    					Visibility="{Binding ColModifIsVisible, Converter={StaticResource BoolToVis}, UpdateSourceTrigger=PropertyChanged}"/>
            <TextBlock Text="Créée par" Style="{StaticResource ListItemTextBlockStyle}"  DockPanel.Dock="Right" Width="120" HorizontalAlignment="Left"
    					Visibility="{Binding ColCreateIsVisible, Converter={StaticResource BoolToVis}, UpdateSourceTrigger=PropertyChanged}"/>
            <TextBlock Text="Ver. Fich." Style="{StaticResource ListItemTextBlockStyle}" DockPanel.Dock="Right" Width="70" HorizontalAlignment="Left"
    					Visibility="{Binding ColVerFichIsVisible, Converter={StaticResource BoolToVis}, UpdateSourceTrigger=PropertyChanged}"/>
            <TextBlock Text="Ver. Base" Style="{StaticResource ListItemTextBlockStyle}" DockPanel.Dock="Right" Width="70" HorizontalAlignment="Left"
    					Visibility="{Binding ColVerBaseIsVisible, Converter={StaticResource BoolToVis}, UpdateSourceTrigger=PropertyChanged}"/>
            <TextBlock Text="Migration" Style="{StaticResource ListItemTextBlockStyle}" />
        </DockPanel>
        <FrameworkElement x:Name="ProxyElement1" DataContext="{Binding}" Visibility="{Binding ColCreateIsVisible, Converter={StaticResource VisibilityConverter}}" />
        <FrameworkElement x:Name="ProxyElement2" DataContext="{Binding}" Visibility="{Binding ColModifIsVisible, Converter={StaticResource VisibilityConverter}}" />
        <FrameworkElement x:Name="ProxyElement3" DataContext="{Binding}" Visibility="{Binding ColDateDerModifIsVisible, Converter={StaticResource VisibilityConverter}}" />
        <FrameworkElement x:Name="ProxyElement4" DataContext="{Binding}" Visibility="{Binding ColVerBaseIsVisible, Converter={StaticResource VisibilityConverter}}" />
        <FrameworkElement x:Name="ProxyElement5" DataContext="{Binding}" Visibility="{Binding ColVerFichIsVisible, Converter={StaticResource VisibilityConverter}}" />
        <FrameworkElement x:Name="ProxyElement6" DataContext="{Binding}" Visibility="{Binding ColBkpCountIsVisible, Converter={StaticResource VisibilityConverter}}" />
        <ListView x:Name="SummaryListView" 
          MaxHeight="300" 
          Background="Black" 
          Foreground="White"
          SelectedItem="{Binding SelectedMigration}" 
          HorizontalContentAlignment="Stretch" 
          IsManipulationEnabled="False" 
          ItemsSource="{Binding MigrationItems}" 
          BorderBrush="Transparent" 
          Style="{DynamicResource ListViewStyle1}"
          ScrollViewer.VerticalScrollBarVisibility="Visible"
          ScrollViewer.HorizontalScrollBarVisibility="Disabled">
          <ListView.ItemContainerStyle>
            <Style>
              <Setter Property="AutomationProperties.Name"
              Value="{Binding XPath=.}"/>
            </Style>
          </ListView.ItemContainerStyle>
          <ListView.ItemTemplate>
            <DataTemplate>
              <DockPanel>
                <TextBlock x:Name="BkpCount" Text="{Binding BackupsCountInServer}" TextWrapping="NoWrap" Foreground="White" DockPanel.Dock="Right" Width="25" HorizontalAlignment="Left"
                  Visibility="{Binding DataContext.ColBkpCountIsVisible, Converter={StaticResource VisibilityConverter}, Source={x:Reference ProxyElement6}, UpdateSourceTrigger=PropertyChanged}"
                  Style="{StaticResource ListItemTextBlockStyle}" FontWeight="Bold">
                  <TextBlock.ToolTip>
                    <ToolTip Content="{Binding BackupsCountInDb}" ContentStringFormat="{}Backups BDD : {0}"></ToolTip>
                  </TextBlock.ToolTip>
                </TextBlock>
                <TextBlock Text="{Binding DateDerniereFacturation, StringFormat=dd/MM/yyyy}" Style="{StaticResource ListItemTextBlockStyle}" TextWrapping="NoWrap" Foreground="White" DockPanel.Dock="Right" Width="95" HorizontalAlignment="Left"
                  Visibility="{Binding DataContext.ColDateDerModifIsVisible, Converter={StaticResource VisibilityConverter}, Source={x:Reference ProxyElement3}, UpdateSourceTrigger=PropertyChanged}"/>
                <TextBlock Text="{Binding ModifiedBy}" Style="{StaticResource ListItemTextBlockStyle}" Foreground="White" TextWrapping="NoWrap" DockPanel.Dock="Right" Width="120" HorizontalAlignment="Left" 
                  Visibility="{Binding DataContext.ColModifIsVisible, Converter={StaticResource VisibilityConverter}, Source={x:Reference ProxyElement2}, UpdateSourceTrigger=PropertyChanged}" />
                <TextBlock Text="{Binding CreatedBy}" Style="{StaticResource ListItemTextBlockStyle}" Foreground="White" TextWrapping="NoWrap" DockPanel.Dock="Right" Width="120" HorizontalAlignment="Left" 
                  Visibility="{Binding DataContext.ColCreateIsVisible, Converter={StaticResource VisibilityConverter}, Source={x:Reference ProxyElement1}, UpdateSourceTrigger=PropertyChanged}"/>
                <TextBlock Text="{Binding VersionFichiersImport}" Style="{StaticResource ListItemTextBlockStyle}" Foreground="White" TextWrapping="NoWrap" DockPanel.Dock="Right" Width="70" HorizontalAlignment="Right" 
                  Visibility="{Binding DataContext.ColVerFichIsVisible, Converter={StaticResource VisibilityConverter}, Source={x:Reference ProxyElement5}, UpdateSourceTrigger=PropertyChanged}"/>
                <TextBlock Text="{Binding VersionBaseinit}" Style="{StaticResource ListItemTextBlockStyle}" Foreground="White" TextWrapping="NoWrap" DockPanel.Dock="Right" Width="70" HorizontalAlignment="Left" 
                  Visibility="{Binding DataContext.ColVerBaseIsVisible, Converter={StaticResource VisibilityConverter}, Source={x:Reference ProxyElement4}, UpdateSourceTrigger=PropertyChanged}"/>
                <TextBlock Text="{Binding MigrationName}" Style="{StaticResource ListItemTextBlockStyle}" Foreground="White" ToolTip="{Binding MigrationName}" TextWrapping="WrapWithOverflow" HorizontalAlignment="Left"/>
              </DockPanel>
              <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding BackupConsistency}" Value="False">
                  <Setter TargetName="BkpCount" Property="Foreground" Value="Yellow" />
                  <Setter TargetName="BkpCount" Property="FontFamily" Value="Segoe" />
                  <Setter TargetName="BkpCount" Property="FontWeight" Value="Bold"/>
                </DataTrigger>
              </DataTemplate.Triggers>
            </DataTemplate>
          </ListView.ItemTemplate>
        </ListView>
      </DockPanel>
      ......
    </Grid>
</UserControl>

Ce code fonctionne correctement (fait ce qu'on lui demande, en tout cas) en exécution. C'est juste à l'affichage du rendu dans le designer de VS que l'erreur apparaît.
Le but du code est d'afficher ou masquer des colonnes d'une listview en fonction de paramètres lus dans le .config de l'exe sur le poste de l'utilisateur ou via un menu en cliquant droit sur la bande qui sert d'entête de colonne.