S
Struct
Gast
Guten Abend
ich arbeite gerade an einem Projekt bei dem über Netzwerk Pakete/Transmissions reinkommen und diese werden dann in einem Fenster (WPF, C#) dargestellt.
In meinem XAML file binde ich dafür das Object bzw. dessen Property Name:
Dann hab ich eine Klasse namens ApTransmission.cs mit dem Property:
Jetzt können 3 Dinge passieren. Eine Paket:
- hat einen Type
- hat keinen Type
- ist unbekannt.
Wenn das Paket einen Type hat läuft alles ok. Das Object type mit dem Property TypeName wird an das WPF gebunden und der Typname dargestellt.
Problem:
Wenn ein Paket keinen Type enthält soll in der Spalte das Wort Permanent stehen.
Wenn das Paket unbekannt ist soll in der Spalte das Wort Unknown stehen.
In meinem Programm wird das object type angelegt und der Name als Property gespeichert. Das klappt auch alles weiter und wird im WPF angezeigt.
Wenn das Paket aber keinen Type hat bzw. nicht vom Typ Type ist (sry, bissl kompliziert), dann wird es auch nicht erstellt und mein WPF bekommt ein null object zurück. Auch wenn es unbekannt ist bekommt WPF ein null object zurück:
Was will ich?
Gibt es eine Möglichkeit ein object zu erstellen welches nur als Property einen Namen hat?
So kann ich dann bei meinen Abfragen einfach ein object mit dem Property TypeName = "unknown" oder Property TypeName = "Permanent" erstellen und an WPF weitergeben. Quasi so:
Übrigens ist die Klasse Type abstrakt.
Hoffe ich konnte es einigermaßen erklären. Danke für die Hilfe
ich arbeite gerade an einem Projekt bei dem über Netzwerk Pakete/Transmissions reinkommen und diese werden dann in einem Fenster (WPF, C#) dargestellt.
In meinem XAML file binde ich dafür das Object bzw. dessen Property Name:
Code:
<DataGridTextColumn Width="300" Binding="{Binding Path=ApTransmission.Type.TypeName, Mode=OneWay}">
<DataGridTextColumn.Header>
<Label>Packet Type</Label>
</DataGridTextColumn.Header>
</DataGridTextColumn>
Dann hab ich eine Klasse namens ApTransmission.cs mit dem Property:
Code:
private IApType type;
public IApType Type
{
get
{
return type;
}
set
{
type = value;
NotifyPropertyChanged("Type");
}
}
Jetzt können 3 Dinge passieren. Eine Paket:
- hat einen Type
- hat keinen Type
- ist unbekannt.
Wenn das Paket einen Type hat läuft alles ok. Das Object type mit dem Property TypeName wird an das WPF gebunden und der Typname dargestellt.
Problem:
Wenn ein Paket keinen Type enthält soll in der Spalte das Wort Permanent stehen.
Wenn das Paket unbekannt ist soll in der Spalte das Wort Unknown stehen.
In meinem Programm wird das object type angelegt und der Name als Property gespeichert. Das klappt auch alles weiter und wird im WPF angezeigt.
Wenn das Paket aber keinen Type hat bzw. nicht vom Typ Type ist (sry, bissl kompliziert), dann wird es auch nicht erstellt und mein WPF bekommt ein null object zurück. Auch wenn es unbekannt ist bekommt WPF ein null object zurück:
Was will ich?
Gibt es eine Möglichkeit ein object zu erstellen welches nur als Property einen Namen hat?
So kann ich dann bei meinen Abfragen einfach ein object mit dem Property TypeName = "unknown" oder Property TypeName = "Permanent" erstellen und an WPF weitergeben. Quasi so:
Code:
IApType unknown = new IApType { TypeName = "unknown" };
IApType permanent= new IApType { TypeName = "Permanent" };
Übrigens ist die Klasse Type abstrakt.
Hoffe ich konnte es einigermaßen erklären. Danke für die Hilfe
Zuletzt bearbeitet: