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

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

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

関連記事

no image

WPF 「アプリケーションはブレーク モードになっています」の対処方法

デバッガでのブレーク時に下記の画像のようなエラーが発生する場合があります。 これが出た場合は[デバッグ]>[オプション]を選択します。 次に[デバッグ]>[全般]の「マイコードのみを有効に …

【UE4】実行直後にOverlapのトリガーが発生しない問題の解消

実行直後(プレイ開始直後)に「OnActorBeginOverlap」にデリゲートを追加した独自の関数が呼ばれないので、調査したので記録になります。 原因ですが、BeginPlay時に設定していること …

no image

【GCC_2019】「BIOHAZARD RE:2の開発中のプレイログを収集した成果と過程」の感想

GCC2019の講演の1つ「BIOHAZARD RE:2の開発中のプレイログを収集した成果と過程」の感想をまとめていきたいと思います。 バイオハザードというビッグタイトルで、プレイログを使用してどのよ …

【UE4】VisualStudio2017でVXGIをビルドした時にエラーが出てしまう

VisualStudio2017でVXGIをビルドした時にエラーが出てしまったので、 解決方法ではないですが、実行できるところまで確認ができたのでメモしておきます。 ○ 対処方法 VisualStud …

「Tortoise Git」のクローン(チェックアウト)でGithubプロジェクトの作業フォルダを作成する方法

「Git」のGUIクライアントツール「TortoiseGit」をインストールする方法 で「Tortoise Git」のインストール設定を行いましたので、今回はGithubで作成したプロジェクトの作業フ …

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