मेरे पास मेरे व्यूमोडेल में मॉडल-ऑब्जेक्ट्स का संग्रह है। मैं इनके लिए एक टैबकंट्रोल बांधने और मॉडल-ऑब्जेक्ट्स से जानकारी निकालने के लिए डेटा टेम्पलेट का उपयोग करने में सक्षम होना चाहता हूं। जब मैं ऐसा करने का प्रयास करता हूं तो मुझे त्रुटि मिलती है: टैबिटेम प्रकार के ऑब्जेक्ट के लिए मॉडल के प्रकार को ऑब्जेक्ट करने में असमर्थ।संग्रह में एक सिल्वरलाइट टैबकंट्रोल बांधें
सिल्वरलाइट TabControl टूट गया है: कुछ समय बिताने के लिए एक समाधान के लिए देखने के बाद मैं निम्नलिखित पाया। TabControl के व्यवहार की नकल करने के लिए ListBox और ContentControl के संयोजन का उपयोग करें। (मतलब मैं ListBox को एक TabControl की तरह लग रही त्वचा के लिए है कि)
TabControl PrepareContainerForItemOverride और समाधान एक कनवर्टर बनाना है हावी नहीं होता। (इतना अच्छा नहीं है क्योंकि मैं तो कनवर्टर में convertee के प्रकार निर्दिष्ट करने की आवश्यकता)
कोई भी किसी भी बेहतर समाधान पता है?
XAML
<sdk:TabControl ItemsSource="{Binding Items, ElementName=MyControl}">
<sdk:TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</sdk:TabControl.ItemTemplate>
</sdk:TabControl>
#
सीpublic ObservableCollection<Model> Items { get; set; }
public ViewModel()
Items = new ObservableCollection<Model>{
new Model { Name = "1"},
new Model { Name = "2"},
new Model { Name = "3"},
new Model { Name = "4"}
};
}
public class TabConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
List<TabSource> source = value as List<TabSource>;
if (source != null)
{
List<TabItem> result = new List<TabItem>();
foreach (TabSource tab in source)
{
result.Add(new TabItem()
{
Header = tab.Header,
Content = tab.Content
});
}
return result;
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
मैं विस्तारित टैब नियंत्रण जो एक कनवर्टर की जरूरत नहीं है और बना लिया है से लिया ठीक से काम करता ObservableCollection कक्षा के साथ। http://vortexwolf.wordpress.com/2011/04/09/silverlight-tabcontrol-with-data-binding/ – vorrtex