Bonjour à vous

Je viens vers vous pour un problème que je n'arrive pas résoudre mais je ne comprend pas vraiment aussi.
Je réalise une application Windows 8 en c# basé sur une architecture MVVM avec le Framework Caliburn.Micro

Mon problème est simple : Faire un Binding sur une CheckBox ( je sais le faire mais pour mon cas cela ne marche pas )

J'utilise un FlipView avec un DataTemplate a l'intérieur
une ListView qui a lui aussi un DataTemplate qui contient mais CheckBox.



Je n'arrive pas a atteindre mon binding de la propriété Ischeck de ma CheckBox.
Ma premier hypothèse est que j'utilise un datatemple dans un datatemple et qu'il n'arrive pas a trouve la source ?

Bon voici un bout de code pour y voir mieux.

ps : Un trie a était réaliser pour une meilleur compréhension du code.

VIEW
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
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
 
<Page
    x:Class="eLOG.Views.FicheTestView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:eLOG.Views"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:cal="http://www.caliburnproject.org"
 
    mc:Ignorable="d" Background="Black">
 
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" >
 
            <TextBlock  Text="{Binding Title}"/>
            <Button Style="{StaticResource NavigationBackButtonNormalStyle}" Margin="39,59,39,0"/>
        </Grid>
 
        <FlipView ItemsSource="{Binding TitreFiche}">
 
            <FlipView.ItemTemplate>
 
                <DataTemplate>
                    <Grid  Width="1247" HorizontalAlignment="Left" VerticalAlignment="Top">
                        <Grid>
                            <ListView IsItemClickEnabled="True"
                                           ItemsSource="{Binding FicheTest}" 
                                           Grid.RowSpan="2">
 
                                <ListView.ItemTemplate>
                                    <DataTemplate>
                                        <Grid >
                                            <Grid.RowDefinitions>
                                                <RowDefinition Height="76*"/>
                                                <RowDefinition Height="73*"/>
                                                <RowDefinition Height="2*"/>
                                            </Grid.RowDefinitions>
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="132*"/>
                                                <ColumnDefinition Width="644*"/>
                                                <ColumnDefinition Width="27*"/>
                                                <ColumnDefinition Width="289*"/>
                                            </Grid.ColumnDefinitions>
                                            <TextBox BorderBrush="Transparent" Foreground="White" Background="Transparent" Text="{Binding ActionFT}" Grid.Column="1" TextWrapping="Wrap" Margin="101,-5,-2,-7" FontFamily="Segoe UI Light" FontSize="20" />
                                            <TextBox BorderBrush="Transparent" Foreground="White" Background="Transparent" Text="{Binding Attendu}" Grid.Column="1" TextWrapping="Wrap" FontFamily="Segoe UI Light" Margin="154,5,0,1" FontSize="20" Grid.Row="1"/>
                                            <Line Grid.Column="1" Grid.Row="2"  Canvas.ZIndex="1" StrokeThickness="5" Stroke="White" X1="1000" Margin="106,2,34,-1" VerticalAlignment="Top" Height="1"  />
                                            <Grid x:Name="azerty" Grid.Column="3" HorizontalAlignment="Left" Height="44" Margin="139,32,-37,0" VerticalAlignment="Top" Width="177">
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition Width="Auto"/>
                                                    <ColumnDefinition Width="Auto"/>
                                                    <ColumnDefinition Width="Auto"/>
                                                    <ColumnDefinition Width="Auto"/>
                                                    <ColumnDefinition Width="Auto"/>
                                                </Grid.ColumnDefinitions>
                                                <CheckBox IsChecked="{Binding CheckBoxGreen, Mode=TwoWay}"  Visibility="{Binding VisibilityCheckBoxGreen}" Style="{StaticResource CheckBoxStyleGreen}"/>
                                            </Grid>
                                        </Grid>
                                    </DataTemplate>
                                </ListView.ItemTemplate>
                            </ListView>
                        </Grid>
                    </Grid>
                </DataTemplate>
            </FlipView.ItemTemplate>
 
 
        </FlipView>
 
    </Grid>
</Page>

ViewModel

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
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
 
using Caliburn.Micro;
using eLOG.Data;
using eLOG.DataModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Xaml.Controls;
 
 
 
namespace eLOG.ViewModels
{
 
    public class FicheTestViewModel : ViewModelBase
    {
        private readonly INavigationService navigationService;
 
 
        private List<FicheTest> FicheTest;
 
        private FakeBDD BDD;
        private int i;
       private int y ;
 
        public FicheTestViewModel(INavigationService navigationService)
            : base(navigationService)
        {
            this.navigationService = navigationService;
 
            BDD = new FakeBDD();
            FicheTest = new List<FicheTest>();
 
             FicheTest =  BDD.creatObject();
            _title = "Trololololo";
 
 
 
            var FTByTitre = FicheTest.GroupBy(x => x.Titre)
             .Select(x => new TitreFicheTest { Titre = x.Key, FicheTest = x.ToList() });
 
            _TitreFiche = FTByTitre.ToList();
 
        }
        protected override void OnInitialize()
        {
            base.OnInitialize();
        }
        private bool _CheckBoxGreen;
        public bool CheckBoxGreen
        {
            get { return _CheckBoxGreen; }
            set
            {
                _CheckBoxGreen = value;
 
                NotifyOfPropertyChange(() => CheckBoxGreen);
            }
        }
 
    private List<TitreFicheTest> _TitreFiche;
        public List<TitreFicheTest> TitreFiche
        {
            get { return _TitreFiche; }
            set
            {
                _TitreFiche = value;
 
                NotifyOfPropertyChange(() => TitreFiche);
            }
        }
 
    }
}
[/CODE]