Note that there are some explanatory texts on larger screens.

plurals
  1. POMaster Detail MVVM WPF not working
    text
    copied!<p>I am unable to get my bindings working on the Detail ListView. I have pasted all my MVVM pattern code below. Please help!!!</p> <p>My View : DirectoryDetailView.cs</p> <pre><code>&lt;UserControl x:Class="S2.Views.DirectoryDetailView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"&gt; &lt;Grid&gt; &lt;Grid.ColumnDefinitions&gt; &lt;ColumnDefinition/&gt; &lt;ColumnDefinition/&gt; &lt;/Grid.ColumnDefinitions&gt; &lt;ListView Grid.Column="0" ItemsSource="{Binding Path = DirectoryDetails}" IsSynchronizedWithCurrentItem="True" SelectedItem="{Binding SelectedDirName, Mode=TwoWay}"&gt; &lt;ListView.View&gt; &lt;GridView&gt; &lt;GridViewColumn DisplayMemberBinding="{Binding Path = FileName}" Header="File Name"/&gt; &lt;/GridView&gt; &lt;/ListView.View&gt; &lt;/ListView&gt; &lt;ListView Grid.Column="1" Margin="10,0,0,0" ItemsSource="{Binding Path = DirectoryDetails}"&gt; &lt;ListView.View&gt; &lt;GridView&gt; &lt;GridViewColumn DisplayMemberBinding="{Binding Path = FileDetails.Length}" Header="Length"/&gt; &lt;GridViewColumn DisplayMemberBinding="{Binding Path = FileDetails.LastAccessTime}" Header="LastAccessTime"/&gt; &lt;/GridView&gt; &lt;/ListView.View&gt; &lt;/ListView&gt; &lt;/Grid&gt; </code></pre> <p></p> <p>My Model : </p> <pre><code>public class DirectoryModel : INotifyPropertyChanged { private string _fileName; private DateTime _createdTime; public string FileName { get { return _fileName; } set { _fileName = value; RaisePropertyChanged("FileName"); } } private IEnumerable&lt;FileDetails&gt; _fileDetails; public IEnumerable&lt;FileDetails&gt; FileDetails { get { return _fileDetails; } set { _fileDetails = value; RaisePropertyChanged("FileDetails"); } } #region INotifyPropertyChanged Members public event PropertyChangedEventHandler PropertyChanged; #endregion protected void RaisePropertyChanged(string propertyName) { PropertyChangedEventHandler propertyChanged = PropertyChanged; if (propertyChanged != null) { propertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } } public class FileDetails { public long Length { get; set; } public DateTime LastAccessTime { get; set; } } </code></pre> <p>My ViewModel:</p> <pre><code>public class DirectoryViewModel : BaseViewModel { private IEnumerable&lt;DirectoryModel&gt; _directoryDetails; public IEnumerable&lt;DirectoryModel&gt; DirectoryDetails { get { var service = GetService&lt;IDirectoryService&gt;(); _directoryDetails = service.GetDirectoryDetails(); return _directoryDetails; } set { if(_directoryDetails != value) { _directoryDetails = value; base.RaisePropertyChanged("DirectoryDetails"); } } } private DirectoryModel _selectedDirName; public DirectoryModel SelectedDirName { get { return _selectedDirName; } set { _selectedDirName = value; base.RaisePropertyChanged("SelectedDirName"); } } } </code></pre> <p>Please let me know, what am I doing wrong?</p> <p>Thanks, AG</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload