मैं कैलिबर्न का उपयोग करके सीखने की कोशिश कर रहा हूं। डब्ल्यूपीएफ के साथ माइक्रो। मैं दृश्य के अंदर कई विचार कैसे जोड़ सकता हूं?WPF और Caliburn का उपयोग करके दृश्य के अंदर कई दृश्य जोड़ें। माइक्रो
<Window x:Class="ProjectName.Views.MainView"
...>
<Grid>
<views:MyControlView />
</Grid>
</Window>
एक अन्य दृश्य, viewmodel साथ: MyControlViewModel
<UserControl x:Class="ProjectName.Views.MyControlView"
...>
<Grid>
...
</Grid>
</UserControl>
मैं सिर्फ दृश्य जोड़ते हैं, तो यह पता नहीं लगा होगा कि यह उपयुक्त नाम के साथ एक viewmodel है। मैं इसे कैसे बांध सकता हूं?
मैंने विभिन्न बूटस्ट्रैपर्स के साथ प्रयास किया है और कैल जैसे कुछ का उपयोग किया है: Bind.Model = "पथ/वर्गनाम/दोनों का विलय"। इसे मुख्यदृश्य और उपयोगकर्ता नियंत्रण (MyControlView) में जोड़ने का प्रयास किया है। मैं इस मामले के बारे में किसी भी मदद के लिए बहुत आभारी हूं। मैं बहुत ज्यादा अटक कर रहा हूँ, और मैं वास्तव में Caliburn.Micro :)
शुभकामनाओं सहित, diamondfish
संपादित उपयोग करना चाहते हैं: मैं अभी भी यह काम करने के लिए नहीं मिल सकता है, समस्या में हो रहा है बूटस्ट्रैपर या कुछ और। लेकिन सिर्फ स्पष्टीकरण के लिए, यह मेरा कोड है जो मैं टेस्टप्रोजेक्ट के लिए दौड़ रहा हूं।
MainView XAML:
<Window x:Class="Test.Views.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cal="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro"
xmlns:views="clr-namespace:Test.Views"
Title="MainWindow" Height="360" Width="640">
<Grid>
<views:MyControlView />
</Grid>
MainViewModel कोड:
public partial class MainViewModel : PropertyChangedBase
{
}
MyControlView XAML:
<UserControl x:Class="Test.Views.MyControlView"
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:cal="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro"
cal:Bind.Model="Test.MyControlViewModel"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<TextBlock Text="{Binding MyProp}"/>
</Grid>
MyControlView कोड:
public class MyControlViewModel : PropertyChangedBase
{
public string MyProp
{
get { return "Working"; }
}
}
त्रुटि का स्क्रीनशॉट: http://clip2net.com/s/1gtgt
मैं
cal:Bind.Model="Test.ViewModels.MyControlViewModel"
रूप में अच्छी तरह की कोशिश की है।
xmlns:cal="http://www.caliburnproject.org"
अपने प्रोजेक्ट http://clip2net.com/s/1gthM
प्रलेखन के बाद का स्क्रीनशॉट ज्यादातर Silverlight के लिए है और कभी कभी Caliburn और नहीं मुख्यमंत्री के लिए, मैं bootstrapper गलत लागू किया है हो सकता है: इसके अलावा कैलोरी-संदर्भ की कोशिश की। इस परीक्षण-परियोजना के लिए, यह सिर्फ इस तरह है: (App.xaml में .xaml-परिवर्तन के साथ)
public class BootStrapper : Bootstrapper<MainViewModel>
{
}
कृपया मुझे यहाँ मदद बाहर! ऐसा लगता है यह कुछ बुनियादी सामान मैं याद कर रहा हूँ :) है की तरह
जोड़ने - एमवीवीएम टैग को शामिल करने के लिए संपादित पोस्ट, एसओ में आपका स्वागत है! – EtherDragon
उत्तरदाता की जांच करें - मैंने प्रकार को निर्यात करने के बारे में एक अनुभाग जोड़ा। दृश्य से संबंधित ViewModel को खोजने के लिए c.m के लिए यह एक महत्वपूर्ण आवश्यकता है। – EtherDragon