我的申請是醫療診所,我選擇了一個病人,然後有幾個標籤可供選擇,患者信息,家族史等。我從MainView中的所有選項卡開始,但得出的結論是,由於屏幕的複雜性,每個選項卡都需要位於單獨的視圖中。使用複雜視圖處理TabControl的正確方法是什麼?
那麼我怎樣才能跨多個視圖共享患者信息?所有屏幕都以某種方式與Patient相關聯,並且我沿着MainViewModel託管所有數據的道路,但這似乎是一個糟糕的主意,因爲我在單獨的視圖上操作數據並需要將更新返回到MainViewModel。什麼是正確的做法,我在互聯網上搜索了幾天,看着不同的架構,幾乎沒有運氣找到任何類型的架構。
我做了什麼,所以每個ViewModel都可以訪問Patient數據,就是使用下面的代碼。
<TabControl Grid.Row="2" x:Name="TC">
<TabItem Header="Patient Info" IsEnabled="{Binding IsPatientSet}" DataContext="{Binding}">
<view:TabPatientView DataContext="{Binding ElementName=TC, Path=DataContext}" />
</TabItem>
<TabItem Header="Clinical Worksheet" IsEnabled="{Binding IsPatientSet}">
我結合的每種視圖模型的MainViewModel因爲每個視圖模型是病人信息的一個方面。很棒!