In Blend 4 versuche ich eine Beispieldatenquelle aus meiner VM-Klasse zu generieren. Die Klasse verfügt über eine Eigenschaft, die ObservableCollection einer Schnittstelle und eine andere Eigenschaft mit ObservableCollection einer Klasse zurückgibt. Beim Generieren einer Beispieldatenquelle generiert das Mischen Daten für die Klasseneigenschaft, nicht jedoch für die Schnittstelle. Gibt es einen Weg dahin? Mein Code benötigt unbedingt die Schnittstelle, aber gleichzeitig möchte ich die Beispieldaten sehen, die für die Entwurfszeit generiert wurden.Blend erzeugt keine Beispieldaten für VM
Antwort
Das Problem hier ist, dass Blend nicht weiß, welche Art von Objekt als die konkrete Implementierung von IDataInterface zu erstellen. Ich würde zwei Entwurfszeit-Datenquellen empfehlen die Erstellung, eine für die myvm und eine für die konkrete IDataInterface Umsetzung:
namespace SilverlightApplication1
{
public interface IDataInterface
{
string Stuff { get; set; }
}
public class PartialViewModel<M>
{
public M Model { get; private set; }
}
public class ConcreteDataInterface : IDataInterface
{
public ConcreteDataInterface()
{
this.Stuff = "Concrete Stuff!";
}
public string Stuff {get;set;}
}
public class MyVM
{
public PartialViewModel<IDataInterface> Partial
{
get;
private set;
}
}
}
und dann würde der XAML sein:
<UserControl x:Class="SilverlightApplication1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot"
d:DataContext="{d:DesignData /SampleData/MyVMSampleData.xaml}">
<Grid DataContext="{Binding Partial.Model}"
d:DataContext="{d:DesignData /SampleData/ConcreteDataInterfaceSampleData.xaml}">
<TextBlock Text="{Binding Stuff}"/>
</Grid>
</Grid>
</UserControl>
Ich werde es ausprobieren! Vielen Dank! – TDaver
Ich habe es ausprobiert, das Problem war, dass ich Partial.Model nicht dem DataContext des inneren Gitters zuweisen wollte, da ich sowohl die Eigenschaften von Model und MyVM brauche, aber die Schnittstelle temporär durch die konkrete Klasse in MyVM ersetzen würde arbeite (wie Johannes vorgeschlagen hat) – TDaver
Okay, deine Lösung ist nicht perfekt, aber ich habe die kleineren Details nicht wirklich spezifiziert, also werde ich das Kopfgeld sowieso vergeben. Danke noch einmal. – TDaver
- 1. Blend für VS2012 zeigt keine Projektvorlagen
- 2. Blend für Visual Studio 2012 - Keine Designansicht
- 3. Beispieldaten für Hadoop
- 4. Simple_form Kontrollkästchen erzeugt keine Geschwisterspanne für Kontrollkästchen
- 5. Composer erzeugt keine Autoloads für die Bibliothek
- 6. Hibernate erzeugt keine Kaskade
- 7. Ionic + Angular ui-sref erzeugt keine href
- 8. MinGW erzeugt keine Warnungen
- 9. org.apache.poi.xwpf.converter.xhtml.XHTMLConverter erzeugt keine Bilder
- 10. Behaviors für Blend (Silverlight 4)
- 11. Beispieldaten aus VCF-Dateien extrahieren
- 12. BuildUrlFromExpressionForAreas erzeugt keine erholsame URL
- 13. Kann keine VM erstellen. Vagrant VM 'poweroff' Zustand.
- 14. url-loader erzeugt keine Bilddateien
- 15. gcov erzeugt keine gcda-dateien
- 16. implizite DataTemplates versus Beispieldaten vs. Mischbarkeit
- 17. Warum erzeugt dies keine Mehrdeutigkeit?
- 18. Rstudio erzeugt keine .RD-Dateien
- 19. JPA @EmbeddedId erzeugt keine Sequenz
- 20. Matlab Simulink erzeugt keine Ausgabe
- 21. error_reporting (E_ALL) erzeugt keine Fehler
- 22. Xcode erzeugt keine dSYM-Datei
- 23. Dagger2 erzeugt keine "Dagger_" Dateien
- 24. Opensenegraph erzeugt keine Viewer-Beispiele
- 25. Berechnen eines Konfidenzintervalls aus Beispieldaten
- 26. Azure VM Remote Desktop kann keine Verbindung
- 27. VM-Ergänzungen für Ubuntu 8.10?
- 28. Gibt es SVN-Clients für Expression Blend?
- 29. MonoDevelop erzeugt keine IB-Ausgänge für mein MonoMac-Projekt.
- 30. gRPC erzeugt keine Schnittstelle für einen Service, nur eine Serviceklasse
ich das gleiche Problem haben, meine VM verfügt über eine Schnittstelleneigenschaft und Blend zeigt auch nicht die Eigenschaften im Bindungsfenster an. – TDaver
Können Sie bitte ein Beispiel der Klasse zeigen? –
@Michael S. Scherotter: 'Öffentliche Klasse PartialViewModel {public M Model {get; private set;}} 'und dann ist mein DataContext' öffentliche Klasse MyVM {public PartialViewModel Partial {get; private set;}} und natürlich 'public interface IDataInterface {string Stuff {get; set;}}' Und mein Ziel ist es, die Partial.Model.Stuff -Eigenschaft in Blend zu sehen. Aber Stuff taucht nicht auf, und da die ursprüngliche Frage auch keine Beispieldaten enthält! –
TDaver