更新:私たちはまだ XP を職場で使用しており、ソリューションが機能するようになりましたが、Vista 以降には分離されたセッションがあることを知り、WCF IPC を実装する予定です...
何らかのタイプのイベントが発生したことをユーザーに通知する必要がある Windows サービスがあります。電子メール通知メッセージに似たものが理にかなっていると判断しました。WPF を使用してこのような単純な UI を作成することも理にかなっています。これにより、いくつかの基本を学ぶことができます。
私はスレッドを実行します:
Thread thread = new Thread(new ThreadStart(RunUserNotificationOnIndependantThread));
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
次に、オブジェクトを設定し、DoubleAnimation.BeginAnimation を呼び出すメソッドを呼び出します。
private void RunUserNotificationOnIndependantThread()
{
UserNotificationWithImage test = new UserNotificationWithImage();
test.Title = _title;
test.Url = _url;
test.Message = _message;
test.LoadUserNotification();
}
public void LoadUserNotification()
{
Rect workAreaRectangle = System.Windows.SystemParameters.WorkArea;
Left = workAreaRectangle.Right - Width - BorderThickness.Right;
Top = workAreaRectangle.Bottom - Height - BorderThickness.Bottom;
_fadeInAnimation.Completed += new EventHandler(_fadeInAnimation_Completed);
// Start the fade in animation
BeginAnimation(UserNotificationBase.OpacityProperty, _fadeInAnimation);
}
デバッガーは BeginAnimation(...) に到達し、ウィンドウは表示されません。これは可能ですか、これを試みる際に何が間違っていますか???
UserNotification コードは、Nicke Andersson のブログ ( WPF Desktop Alert ブログ) に基づいています。
助けてくれてありがとう!!