簡體   English   中英

如何將我的UserControl綁定到AvalonDock

[英]How to bind my UserControl to an AvalonDock

拜托我想要了解一些事情,我真的需要一些方向,因為我迷失了。

我有一個名為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>

我有一個modul,它創建一個TerminalControl並將viewModel返回給MainWin視圖模型。 我的問題是我不知道我應該綁定AvalonDock的DocumentSource,正如你在上面看到的那樣。

我究竟做錯了什么? 我的架構有什么問題嗎?

伙計們,任何幫助都會受到高度關注,因為我的想法已經不多了。

謝謝

好的,既然我的問題沒有答案,這就是我要解決的問題:

  • 我的UserControl(終端)將實現一個接口IUIWindow。
  • 該接口將由一個observebale集合中的主視圖模型保存,它將動態地添加或刪除IUIWindow元素。
  • 並且位於主視圖中的Avalon基座將綁定到其DocumentSource中的該集合。
  • 在綁定中,我將保存一個轉換器,它將從接口轉換為Document期望的類型。

這是我能找到的最佳解決方案,如果有人有任何意見/評論/建議,我將很高興聽到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM