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

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

【C++】autoは処理負荷が重い?について調査

autoを使用すると重い? C++はautoを使用すると、実行速度が重くなると風のうわさで聞いたので、実際に確認してみました。 autoとは? C++11 から導入されて、変数宣言時に具体的な型名のか …

no image

【C++】VisualStudioの標準機能の静的解析ツールについて

コード分析を実行することで、アプリの品質を向上させることが可能です。プログラミング手法の違反や欠陥を見つけることができます。 設定 ① プロジェクトを右クリックして、プロパティを開き  構成プロパティ …

no image

AnacondaとPyCharmの連携

AnacondaでpythonインストールしてPyCharmを使用して開発を行いたかったので、手順をまとめています。 PyCharmを起動すると下記の画面が表示されますので、「New Project」 …

no image

WinFormsにモーダルダイアログの追加

Windows フォームアプリケーションにモーダルダイアログを追加する手順をまとめていきます。 使用用途 メッセージ表示中にアプリケーションを操作させないようにしたいとき 追加手順について Formフ …

no image

MVVMパターンについて

MVVMとは 「Model」「View」「ViewModel」の3つのコンポーネントを使用したものになります。 「Model」は、データを管理するコンポーネントになります。データ関連のロジックはこちら …

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