IWindowManagerをCaliburn.Microとすると、ShowWindow
メソッドを使用してフチ無しのウィンドウを作成できますか?Caliburn.Micro:WPFを使用してIWindowManagerでフチ無しのウィンドウを作成
この場合、ウィンドウの内容はUserControlから生成されます。また、Caliburn.MicroはUserControlをホストするウィンドウを作成します。
IWindowManagerをCaliburn.Microとすると、ShowWindow
メソッドを使用してフチ無しのウィンドウを作成できますか?Caliburn.Micro:WPFを使用してIWindowManagerでフチ無しのウィンドウを作成
この場合、ウィンドウの内容はUserControlから生成されます。また、Caliburn.MicroはUserControlをホストするウィンドウを作成します。
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)},
});
私たちは、最新のリリースV1.2(2011年7月20日)を使用しています。設定パラメータは、未発売の新しいバージョンにあるようです。ソースをダウンロードして最新のリリースを使用することもできますが、正式にリリースされたバージョンのみを使用したいと考えています。 –
ああ..申し訳ありません私はCodePlexのソースで直接チェックしました。私はそれがまだリリースされていないことを知らなかった。私は私の答えを更新します。 – nemesv
私は、Caliburn Microの最新のWindowMangerクラスを調べ、他に新しい依存関係があるかどうかを調べます。そうでない場合は、ソースを取得して新しいバージョンまで実装するだけです。しかし、最初にv1.2リリースのオプションが出てくるのを待つことになるでしょう。 –