В идеале два windows должны иметь отдельный экземпляр пользовательского контроля, и это отражено и в вашем примере. Однако если вам нужно синхронизировать c состояние флажка главного окна с состоянием флажка второго окна, вы можете сделать это любым из следующих подходов.
1.) Следуйте шаблону MVVM, который является рекомендуемым шаблоном для приложений WPF, а затем свяжите оба вида (MainWindow и SecondWindow) с одной моделью. Однако я не буду предлагать этот подход, так как в будущем, если вам понадобится добавить дополнительную логику c в любом представлении, это сделает вашу модель неуправляемой, и модель также нарушит принцип проектирования с одной ответственностью.
2.) Используйте шаблон EventAggregator, в котором ваше главное окно будет подписано на событие изменения состояния флажка из Второго окна. И второе окно опубликует sh событие изменения состояния, как только его состояние флажка изменится.
Второй подход рекомендуется для приложения WPF, поскольку он гарантирует, что каждый компонент в вашем приложении отделен и несет единоличную ответственность