private static void OnChangedCurrentMarketMemberChange(DependencyObject doj, DependencyPropertyChangedEventArgs dp)
        {
            PriceHistory_BC uc1 = doj as PriceHistory_BC;

            //первоначальная инициализация (в конструкторе рушится, видимо свойства зависимости на том этапе еще не созданы)
            if (uc1?._priceHistoryDataSource.Count == 0 && uc1.CurrentMarket.Mbi.Count > 0)
            {
                for (int i = 1; i < uc1.CurrentMarket.Mbi.Count; i++) //начинаем с i = 1, иначе надо проверять на s.Dt != "0:00:00"
                {
                    PriceHistoryData s = uc1.GetPriceHistoryDataFromCurrentMarcetByIndex(i);
                    //if (s.Dt != "0:00:00") //  в записанном файле первая запись "как бы" такая (хотя это и не так). Можно открыть и убедиться
                    // Если не нее потом щелкать - все рушится.
                    uc1._priceHistoryDataSource.Add(s);
                }
            }
            else if (uc1?.CurrentMarket != null)
            {
                int i = uc1.CurrentMarket.Mbi.Count - 1;
                PriceHistoryData s = uc1.GetPriceHistoryDataFromCurrentMarcetByIndex(i);
                uc1._priceHistoryDataSource.Add(s);
            }

            //если не стоит галка, то выделяем последнюю запись (ReSharper зачем-то еще на null проверил... ну и пусть оно будет)
            if (uc1?.CurrentMarket != null && uc1.cb.IsChecked != null && (bool)uc1.cb.IsChecked)
            {
                uc1.MoveToLast();
            }
        }
        private static void CurrentMarketOnChanged(DependencyObject doj, DependencyPropertyChangedEventArgs dp)
        {
            PriceHistory_BC uc3 = doj as PriceHistory_BC;

            if (uc3 == null || uc3.CurrentMarket == null)
            {
                return;
            }
        }