Método de chamada de outro problema de janela (classe)

No código por trás do arquivo da janela principal do aplicativo WPF eu tenho um método de consulta de um banco de dados com o LINQ to SQL e escrevendo os resultados para um ObservableCollection:

    public void GetStateByDate(string shcode)
    {
        MydbDataContext contextSts = new MydbDataContext();
        _ShAvaQuCollection.Clear();

        var sts = from p in contextSts.SAties where p.ShID == shcode select p;

        foreach (var p in sts)
            _ShAvaQuCollection.Add(new ShAvaQu
            {
                ShCode = p.ShID,
                SiID = p.SiID,
                PrCat = p.PrCat
            });
    }

Quando eu chamo este método do mesmo código por trás do arquivo (a mesma janela), tudo está OK.

Se eu chamar esse método de outra janela, usando uma instância da janela principal, o ObservableCollection permanecerá vazio:

SWindow sw = new SWindow();
sw.GetStateByDate(stringpar);

Qual é a razão para isto? Neste caso, o método cria ainda outra instância de ObservableCollection?

(Eu posso ver no depurador quesw._ShAvaQuCollection contém valores. Ésw._ShAvaQuCollection não o mesmo instanse de coleção como_ShAvaQuCollection? Se sim, como isso pode ser resolvido?)

Editado (adicionado)

O ObservableCollection declarado desta maneira:

    ObservableCollection<ShAvaQu> _ShAvaQuCollection =
            new ObservableCollection<ShAvaQu>();

    public ObservableCollection<ShAvaQu> ShAvaQuCollection
    { get { return _ShAvaQuCollection; } }

    public class ShAvaQu
    {
        public string ShCode { get; set; }
        public string SiID { get; set; }
        public int PrCat { get; set; }
    }

Eu chamo o método de uma janela, onde outra coleçãoShQuCollection exibido através de ListView. No manipulador de eventos SelectionChanged, recebo um argumento para esta consulta ao banco de dados:

private void ShSelList_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {           
        SWindow sw = new SWindow();         
        string str = sw.ShQuCollection[ShSelList.SelectedIndex].ShCode;
        sw.GetStateByDate(str);
        Close();
    }
}

questionAnswers(1)

yourAnswerToTheQuestion