2012-01-13 5 views

答えて

9

EDIT:ステータス今日:

現在Caliburn.Microバージョン1.2(2011年7月20日)とは、それが作成したウィンドウのプロパティを設定することはできませんリリース。あなたはWindowManagerから継承しCreateWindow方法オーバーライドすることができます。新しいバージョンがリリースさ

public class BorderlessWindowManager : WindowManager 
{ 
    protected override Window CreateWindow(object rootModel, bool isDialog, 
     object context) 
    { 
     var window = base.CreateWindow(rootModel, isDialog, context); 
     window.WindowStyle = WindowStyle.None; 
     window.ShowInTaskbar = false; 
     window.AllowsTransparency = true; 
     window.Background = new SolidColorBrush(Colors.Transparent); 
     return window; 
    } 
} 

を:

はい、それはsettingsパラメータで、可能です:

public interface IWindowManager 
{ 
    //... 
    void ShowWindow(object rootModel, object context = null, 
     IDictionary<string, object> settings = null); 
} 

Caliburn.Microこの辞書を[property name; property value]バッグとして使用し、作成したウィンドウにリフレクションを設定します。 私はボーダレスウィンドウを作成したことがありませんが、このarticeに基づいて、このようなものが動作するはずです:

windowManger.ShowWindow(viewModel, 
    settings: new Dictionary<string, object> 
    { 
     { "WindowStyle", WindowStyle.None}, 
     { "ShowInTaskbar", false}, 
     { "AllowsTransparency", true}, 
     { "Background", new SolidColorBrush(Colors.Transparent)}, 
    }); 
+0

私たちは、最新のリリースV1.2(2011年7月20日)を使用しています。設定パラメータは、未発売の新しいバージョンにあるようです。ソースをダウンロードして最新のリリースを使用することもできますが、正式にリリースされたバージョンのみを使用したいと考えています。 –

+0

ああ..申し訳ありません私はCodePlexのソースで直接チェックしました。私はそれがまだリリースされていないことを知らなかった。私は私の答えを更新します。 – nemesv

+0

私は、Caliburn Microの最新のWindowMangerクラスを調べ、他に新しい依存関係があるかどうかを調べます。そうでない場合は、ソースを取得して新しいバージョンまで実装するだけです。しかし、最初にv1.2リリースのオプションが出てくるのを待つことになるでしょう。 –

関連する問題