/// <summary> /// 透明化の為にウインドウの再作成 /// ※ WindowStyleの変更はShowをする前にしか変更できないため /// </summary> private void RenewWindow() { AppModel model = DataContext as AppModel; if (model != null) { // 現在の状態と透明化フラグの状態に差異があるか確認 if ( (model.Stealth == true && WindowStyle == WindowStyle.None) || (model.Stealth == false && WindowStyle == WindowStyle.SingleBorderWindow) ) { // 差異が無い場合は、何もしない } else { // 透明化の状態と現在のWindowの状態が異なる時 // 新しいWindowを作成して、自身のModelを渡す。 FlyingCommentsWindow newWind = new FlyingCommentsWindow(DataContext as AppModel); // 位置とサイズをコピー newWind.Top = Top; newWind.Left = Left; newWind.Width = Width; newWind.Height = Height; newWind.WindowState = WindowState; //newWind.DataContext = DataContext; //newWind.Owner = Owner; // 旧ウィンドウを閉じる ManualColse(); // 旧ウィンドウとモデルを切断 DataContext = null; // 新ウィンドウを表示する newWind.Show(); } } }
/// <summary> /// コンストラクタ /// </summary> public MainWindow() { InitializeComponent(); App ap = Application.Current as App; DataContext = ap.Model; AppModel model = DataContext as AppModel; // ウインドウの位置とサイズを指定 Left = model.SettingWndRect.Left; Top = model.SettingWndRect.Top; Width = model.SettingWndRect.Width; Height = model.SettingWndRect.Height; //コメントウインドウを作成 FlyingCommentsWindow newWnd = new FlyingCommentsWindow(DataContext as AppModel); newWnd.Show(); // フォント選択コンボBoxにシステムのフォント一覧を設定 m_FontName.ItemsSource = Fonts.SystemFontFamilies; }