以编程方式将控件添加到DocumentContent(AvalonDock)中

本文关键字:DocumentContent AvalonDock 添加 编程 方式 控件 | 更新日期: 2023-09-27 18:28:09

我有一个DocumentContent(AvalonDock),它包含一个textEditor。我想在运行时为它添加一个工具栏。要做到这一点,我需要添加一个GridDefinition,以便第一行(对于工具栏)具有固定的高度,并且文档的其余内容应由文本编辑器填充。

我创建了一个新的网格,添加了一个行定义,并添加了子网格,但我不知道如何将其附加到DocumentContent。我甚至不确定添加工具栏的方式是否正确。有什么建议吗?

        Grid grid = new Grid();
        RowDefinition rowDefinition1 = new RowDefinition();
        rowDefinition1.Height = new GridLength(32);
        grid.RowDefinitions.Insert(0, rowDefinition1);
        grid.Children.Insert(0, new IsaDocToolbar());

PS:我忘了提到我使用AvalonDock 1.3

以编程方式将控件添加到DocumentContent(AvalonDock)中

为什么在代码中这样做而不使用XAML?

以下是在XAML 中使用MVVM的基本思想/概念

文档内容应为包含2行的网格工具栏的第一行文本编辑器的第二行

第一行的可见性可以通过绑定到布尔属性和使用BoolToVisibilityConverter来控制。

希望这能有所帮助。我一直在为应用程序做类似的事情(不是在文档内容上)。您可以在我的Wide项目中签出类似的窗口工具栏概念。