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

时间:2013-08-19 15:55:37

标签: c# wpf avalondock

我有一个包含textEditor的DocumentContent(AvalonDock)。我想在运行时添加一个工具栏。为此,我需要添加一个GridDefinition,以便第一行具有固定的高度(对于工具栏),其余的文档内容应由texteditor填充。

我创建了一个新的Grid,并为其添加了一个行定义,并将子项添加到它,但我不知道如何将它附加到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

1 个答案:

答案 0 :(得分:0)

为什么要在代码中执行此操作而不使用XAML?

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

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

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

希望这会有所帮助。我一直在为应用程序做类似的事情(不在文档内容上)。您可以查看我的Wide project,了解窗口工具栏的类似概念。