MVVM WPF value in view is null
===

I am still very new to WPF and trying to grasp the MVVM pattern. I have the mainWindow.xaml file that has 2 datepickers 

            <DatePicker Padding="5,5,5,5"
                        Text="{Binding Path=dateOptObj.openDate, Mode=TwoWay}"/>
            <TextBlock  Padding="5,5,5,5" Text=" to "/>
            <DatePicker Padding="5,5,5,5" 
                        Text="{Binding Path=dateOptObj.closeDate, Mode=TwoWay}"/>

when the program loads my date obj has valid data based on these datepickers and loads a grid matching these 2 dates:

    dateOptObj = new mdDateOptions();

now this is the actual class that loads that object. 

    private ICollectionView _datOpts;
        public ObservableCollection<string> dates { get; private set; }
        public ICollectionView datesView
        {
            get
            {
                return _datOpts;
            }
        }
        public mdDateOptions()
        { 

            dates = new ObservableCollection<string>();
            dates.Add("Rolling Year");
            dates.Add("Year to Date");
            dates.Add("Last Year");

            _datOpts = CollectionViewSource.GetDefaultView(dates);
            _datOpts.CurrentChanged += new EventHandler(OnCurrentChanged);
        }

        public void OnCurrentChanged(object sender, EventArgs e)
        {
            string currSel = (string)_datOpts.CurrentItem;
            DateTime p_date = new DateTime();
            p_date = DateTime.Today;

            switch (currSel)
            {
                case "Rolling Year":
                    openDate = DateTime.Today.AddYears(-1);
                    closeDate = DateTime.Today;

                    openDatePrevious = DateTime.Today.AddYears(-2);
                    closeDatePrevious = DateTime.Today.AddYears(-1);

                    break;
                case "Year to Date":
                    openDate = new DateTime(DateTime.Today.Year, 1, 1);
                    closeDate = DateTime.Today;

                    openDatePrevious = new DateTime(DateTime.Today.AddYears(-1).Year, 1, 1);
                    closeDatePrevious = DateTime.Today.AddYears(-1);
                    break;
                case "Last Year":
                    openDate = new DateTime(DateTime.Today.AddYears(-1).Year, 1, 1);
                    closeDate = new DateTime(DateTime.Today.AddYears(-1).Year, 12, 31);

                    openDatePrevious = new DateTime(DateTime.Today.AddYears(-2).Year, 1, 1);
                    closeDatePrevious = new DateTime(DateTime.Today.AddYears(-2).Year, 12, 31);
                    break;
                default:
                    MessageBox.Show("Unknown Date Option");
                    break;
            }
        }


my problem is that I have a userControl on my mainWindow.xaml which has a list of buttons that loads a grid on the mainWindow.xaml. when you hit a button in the userControl I want it to filter out certain data in the grid based on the datepickers but when my relay command fires in the viewmodel the dateOptObj above is null. Can anyone point me in the right direction? Below is how I am loading the UserControl.

    <vm:StatPanel DockPanel.Dock="Right" Loaded="StatPanel_Loaded" />
