プログラミング、ガジェット、趣味ネタを配信するブログ

C# プログラミング

【C#】WPFのAvalonDockで起動時にDocumentWindowを表示させる手順について

投稿日:

【前提条件】
AvalonDockUtilのライブラリを使用しています。

  1. ViewModelクラスをWorkspaceBaseで継承します。
  2. WorkspaceBase::NewDocument関数をオーバーライドして、Documentウィンドウの生成処理を作成します。
  3. AvalonDockUtil.DocumentContentを継承したクラスを作成します。

    public override AvalonDockUtil.DocumentContent NewDocument(object param)
    {
    switch ((string)param)
    {
    // Testウィンドウドキュメント
    case "TestWindowDocument":
    {
    if (!IsExistDocumentByClassName((string)param))
    {
    return new TestWindowDocument(this.Messenger);
    }
    break;
    }
    default: break;
    }

    return null;
    }

  4. XAMLでパラメータ設定に次のように設定します。「Command=”{Binding NewDocumentCommand}” CommandParameter=”TestWindowDocument”」
    ※Commandパラメータには生成したいドキュメントウィンドウを設定する機能を独自追加しています。
  5. AvalonDockにDocumentをバインドするために下記の設定を行います。

    <avalonDock:DockingManager x:Name=”DockingManager”
    DocumentsSource=”{Binding Documents}”>

    <!–ドッキングマネージャのDocumentの表示–>
    <avalonDock:DockingManager.LayoutItemContainerStyleSelector>
    <util:ContentPropertyStyleSelector />
    </avalonDock:DockingManager.LayoutItemContainerStyleSelector>

とりあえずのメモになります。
また時間のある時に整理していきます。

-C#, プログラミング

執筆者:ワカメ


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【C++】VisualStudioの静的解析ツールCppCheckについて

CppCheckのインストール ① http://cppcheck.sourceforge.net/からCppCheckをダウンロードしてインストールします。 VisualStudioの設定 ① メニ …

【UE4】アセットは古いバージョンへ移行できないみたい

メモ程度なのですが、 アセット(コンテンツ)は新しいバージョンから古いバージョンへ移行(Migrate)で持って行っても アセットが表示されないようです。。。 できない理由はおそらく、新しいバージョン …

【UE4】FastBuildを使う

分散ビルドツールを使おうと思い、FastBuildを調べていました。 下記のURLを参考にして対応していけば使えるようになるかと思います。 とりあえずメモ書き程度ですが、時間を見て詳しくまとめようかと …

C++ メモリ領域に関して

プログラムのメモリ領域には、下記の4つがあるようです。 プログラム作成やデバッグの際に気を付けておくことで問題等を事前に防ぐことが出来ると思うので覚えておきましょう。 ヒープメモリ newやmallc …

【UE4】CameraActorを切り替えたときのカクツキを直す

○ 概要 UE4のCameraActorをSetViewTargetWithBlend関数を使用してカメラを 切り替えたときにカクついてしまう問題に少し悩んだのでメモ書き 程度で残しておきます。 ○今 …

スポンサー 人気記事 最近の投稿
Exit mobile version