请让我忘记了解某些事情,我真的需要一些方向,因为我迷失了。
我创建了一个名为TerminalControl的UserControl,它有一个视图,它将一个TextBox包含在视图模型中的Text属性中,该属性通过连接到嵌入式系统的RS232实时更新。 所以流量是数据到达RS232(更新)==> VM.Text ==> (数据绑定)==> TerminalView.TextBox.Text
我想要的只是通过数据绑定将此用户控件添加到AvalonDock 2.0。
我在持有Docking Manager的窗口中创建了一个数据模板
<avalonDock:DockingManager x:Name="dockManager"
DocumentsSource="{Binding ???}"
Grid.Row="1">
<avalonDock:DockingManager.LayoutItemTemplateSelector>
<vm:PanesTemaplateSelector>
<vm:PanesTemaplateSelector.SessiomDataTemplate >
<DataTemplate>
<Terminal:TerminalEditorView/>
</DataTemplate>
</vm:PanesTemaplateSelector.SessiomDataTemplate>
</vm:PanesTemaplateSelector>
</avalonDock:DockingManager.LayoutItemTemplateSelector>
并在对接中创建文档
<avalonDock:LayoutRoot>
<avalonDock:LayoutPanel Orientation="Vertical">
<avalonDock:LayoutDocumentPane/>
<avalonDock:LayoutAnchorablePane Name="ToolsPane" DockHeight="150">
</avalonDock:LayoutAnchorablePane>
</avalonDock:LayoutPanel>
</avalonDock:LayoutRoot>
</avalonDock:DockingManager>
我有一个创建TerminalControl的模块,并将viewModel返回给MainWin视图模型。 我的问题是我不知道应该绑定AvalonDock的DocumentSource,正如你在上面看到的那样。
我做错了什么? 我的架构有什么问题吗?
伙计们,任何帮助都会受到高度关注,因为我的想法已经不多了。
谢谢
答案 0 :(得分:0)
好的,既然我的问题没有答案,这就是我要解决的问题:
这是我能找到的最佳解决方案,如果有人有任何意见/评论/建议,我将很高兴听到。