我會直接回到我的問題。 :)重複使用不同視圖模型的用戶控件(視圖)
我使用Caliburn.Micro和mvvm。 16個用戶控件位於我的MainView上。所有的期待相同的一些按鈕,標籤,...這樣的:
<UserControl x:Class=" Projectxy.usercontrolexample01View"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Projectxy"
mc:Ignorable="d"
d:DesignHeight="200" d:DesignWidth="305">
<Grid>
<Button x:Name="button" Content="Button" Width="75"/>
<Label x:Name="label" Content="Label"/>
<ComboBox x:Name="comboBox"/>
</Grid>
</UserControl>
我所說的用戶控件在類似的MainView:
<ContentControl Name=" usercontrolexample01Model" Grid.Column="2" Grid.Row="1"/>
<ContentControl Name=" usercontrolexample02Model" Grid.Column="2" Grid.Row="2"/>
(我不積引導程序,因爲我認爲這是?沒有必要爲我的問題...)
我想是不是在我的項目一樣,加16倍相同的XAML代碼:
usercontrolexample01View.xaml
usercontrolexample01ViewModel.cs
usercontrolexample02View.xaml
usercontrolexample02ViewModel.cs
…
如果我想改變某些東西,很難更改16個xaml文件...
我想在我的MainView和16個ViewModels中使用16個視圖(每次我在MainView中重用它)但是在「後面」16個視圖應該只是1個應該被重用的xaml文件(usercontrolexampleView.xaml)。
usercontrolexampleView.xaml
usercontrolexample01ViewModel.cs
usercontrolexample02ViewModel.cs
usercontrolexample03ViewModel.cs
是否有任何方法可以重新使用Caliburn.Micro 1 Usercontrol(xaml-file)?我沒有找到關於這個的一些文章:(:(有一些具有相同的標題,但他們有這樣的其他焦點thread。) 最後我發現了一個question這是更在我的方向....但如何我可以用Caliburn來管理它嗎?也許有人有一個代碼與我的解釋斬斷?
我希望我的問題很清楚。我只是新的stackoverflow,wpf和caliburn微...並不是那熟悉英語... :(
感謝所有的建議!
爲什麼一個UserControl(View)有多個虛擬機? – niksofteng
好的,那裏應該有一個虛擬機,用於View的一次重用:)。最後,View的每個重用代表一個客戶端...這就是爲什麼我想使用許多VM。希望清楚嗎? :) –
你有相同的視圖和不同的ViewModel,並且視圖的行爲基於實例化的ViewModel類而改變? –