private void Button_Click_3(object sender, RoutedEventArgs e) { DialogOption option = (DialogOption)DataContext; if (!option.Enabled) { return; } RebindWindow rebind = new RebindWindow(); var lstbox = rebind.DialogList; DialogPage parent = null; DialogLabel label = (DialogLabel)option; while (label.Parent != null) { label = label.Parent; } parent = label as DialogPage; List <DialogPage> pages = new List <DialogPage>(); FindPages(parent, pages); foreach (var page in pages) { if (page == option.Parent) { continue; } if (option.Contains(page)) { continue; } lstbox.Items.Add(page); } rebind.Option = option; rebind.ShowDialog(); if (OnRefresh != null) { OnRefresh(sender, e); } var owner = parent.Owner; owner.Rebind(); }