Bonjour à tous,

Voici mes 2 usercontrols:

Lieu où j'affiche mes fichiers via
<UserControl ...>
<ListView x:Name="lvwFiles" Grid.Row="1" ItemsSource="{Binding Files}" >
<ListView.View>
<GridView>
<GridViewColumn Header="Nom du fichier" Width="Auto" DisplayMemberBinding="{Binding Name}" CellTemplateSelector="{Binding ShowFileContent}" />
</GridView>
</ListView.View>
</ListView>
</userControl>
Lieu où doit être afficher le contenu de l'item sélectionné:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<UserControl ...>
    <grid>
         <RichTextBox Grid.Row="1" Grid.ColumnSpan="3" IsEnabled="False" Document="{Binding ElementName=ViewType, Path=SelectedItem.Tag}" />
    </Grid>
</UserControl>
Et voici ma ViewModel du ListView:
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
 
 
class FileVM : ObservableCollection<FileModel>
    {
        #region properties
        private FileInfo[] _files;
        public FileInfo[] Files
        {
            get { return _files; }
            set { _files = value; OnPropertyChanged("Files"); }
        }
 
        private bool _isFileSelected;
        public bool IsFileSelected
        {
            get { return _isFileSelected; }
            set { _isFileSelected = value; OnPropertyChanged("IsFileSelected"); }
        }
 
        private FileModel _selectedFile;
        public FileModel SelectedFile
        {
            get { return _selectedFile; }
            set
            {
                _selectedFile = value;
                OnPropertyChanged("SelectedFile");
            }
        }
 
        #endregion
 
        #region constructor
        public FileVM()
        {
 
        }
        #endregion
 
        #region method
        public void ShowContent()
        {
            if(_isFileSelected)
            {
                ReadFilesController rfc = new ReadFilesController(_selectedFile.Files.ToString());
            }
        }
        #endregion
 
        #region PropertyChanged
        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
        #endregion
    }
Mon but étant de lire les lignes et les écrire dans mon richtextbox (en lecture/écriture) voici mon "helpers":
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
 
 class ReadFilesController : INotifyPropertyChanged
    {
        #region properties
        private string _filepath;
        public string Filename
        {
            get { return _filepath; }
            set { _filepath = value; OnPropertyChanged("Filename"); }
        }
        #endregion
 
        #region constructor
        public ReadFilesController(string filename)
        {
            _filepath = filename;
        }
        #endregion
 
        #region methods
        public void Reader()
        {
            try
            {
                using ()
                {
                    string line = "";
                    while ()
                    {
 
                    }
                }
            }
            catch (Exception ex)
            {
 
            }
        }
        #endregion
 
        #region PropertyChanged
        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
        #endregion
    }
(oui, je sais, il n'est pas encore finit x) )

Le problème que j'ai est que je n'arrive pas à me schématisé ça correctement pour pouvoir faire un code propre sur: sélectionné l'élément -> envoyer à mon helpers <-> (récupérer par mon viewmodel? <->) récupérer dans mon second usercontrol qui contient ma richtextbox et binder le contenu.

Je bloque même aux premières étapes j'ai l'impression, lorsque je sélectionne, je suis même pas (enfin si, j'utilise mon debug) de passer dans _isSelected = True; selectedItem = l'item sélectionné. J'sais pas si je suis assez clair