/// <summary>
        /// Attach data context's new value to update directory path.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TreeViewPath_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            SyncPairViewModel vm = (SyncPairViewModel)e.NewValue;

            if (vm != null)
            {
                vm.UpdateDirectoryPath += ViewModel_UpdateDirectoryPath;
            }
        }
        /// <summary>
        /// Update directory tree view with data context's new value.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ViewModel_UpdateDirectoryPath(object sender, EventArgs e)
        {
            SyncPairViewModel obj = (SyncPairViewModel)DataContext;

            // Refresh source directory tree view.

            // TODO Check for NULL
            if (obj != null)
            {
                trvSrcDir.populateTreeView(this, new PropertyChangedEventArgs(obj.SrcRoot));
                // Refresh destination directory tree view.
                trvDstDir.populateTreeView(this, new PropertyChangedEventArgs(obj.DstRoot));
            }
        }