//private void FrameworkControl_Unloaded(object sender, RoutedEventArgs e) //{ // this.Unloaded -= FrameworkControl_Unloaded; // if (this is UcLabelTwinTextBox || this is UcLabelComboBox) // { // if (this.thmgr != null) // { // thmgr.OnReceived -= new MessageReceiveHandler(OnReceived); // this.thmgr.Dispose(); // this.thmgr = null; // } // } // this.OnUnload(); //} //public virtual void OnUnload() //{ //} /// <summary> /// VIEW共通データを設定する /// </summary> /// <param name="cfg">VIEW共通データ</param> public void SetConfig(ViewsCommon cfg) { this.viewsCommData = cfg; if (this is UcLabelTwinTextBox || this is UcLabelComboBox) { this.thmgr = new ThreadManeger(cfg.DacConf); thmgr.OnReceived += new MessageReceiveHandler(OnReceived); } }
/// <summary> /// 画面クラスが取得済みのConfigの内容を配下の子コントロールに引き継ぐ /// </summary> /// <param name="target">Configを設定済みの親コントロール(主に画面クラス)</param> /// <param name="cfg">引継ぎ元のConfigのインスタンス</param> public static void SetConfigToControls(DependencyObject target, ViewsCommon cfg) { foreach (var child in LogicalTreeHelper.GetChildren(target)) { if (child is DependencyObject) { if (child is FrameworkControl) { (child as FrameworkControl).SetConfig(cfg); } SetConfigToControls((DependencyObject)child, cfg); } } }
/// <summary> /// データ処理要求のエラー結果受信イベントの処理(エラーメッセージの取得) /// </summary> /// <param name="message">データ処理要求に対する結果オブジェクト</param> /// <param name="viewcomm">画面共有オブジェクト(エラーメッセージ取得用)</param> /// <returns>エラーメッセージ</returns> public static string OnReveivedError(CommunicationObject message, ViewsCommon viewcomm) { string errmsg = viewcomm.GetMessage("F", 999); if (message.GetResultData().GetType() == typeof(string)) { switch (message.ErrorType) { case MessageErrorType.DataError: errmsg = viewcomm.GetMessage("F", 999); break; case MessageErrorType.DBConnectError: errmsg = viewcomm.GetMessage("F", 1); break; case MessageErrorType.DataNotFound: errmsg = viewcomm.GetMessage("E", 1); break; case MessageErrorType.DBGetError: errmsg = viewcomm.GetMessage("F", 999); break; case MessageErrorType.UpdateConflict: errmsg = viewcomm.GetMessage("W", 1); break; case MessageErrorType.DBUpdateError: errmsg = viewcomm.GetMessage("F", 2); break; default: errmsg = viewcomm.GetMessage("F", 999); break; } } return(errmsg); }