System.Windows.Data Error: 40 : BindingExpression path error: 'State' property not found on 'object' ''PointNetObject' (HashCode=9270846)'. BindingExpression:Path=State; DataItem='PointNetObject' (HashCode=9270846); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
für eine Spalte. Alle Zeilen werden zur Tabelle hinzugefügt, aber für jede Zeile erhalte ich den Fehler. Zwei weitere Spalten werden für jede Zeile gut angezeigt. Aber nicht der Staat. Natürlich wird der Konverter nie aufgerufen.
Einrichtung wie unten beschrieben.
Ich habe ein Objekt:
public class PointNetObject : NetObject
{
SwitchObjectState State
{
get { return _state; }
set { _state = value; }
}
}
die Klasse erbt, die Eigenschaften wie Phase hat und Beschriften
In Ansichtsmodell:
public ObservableCollection<PointNetObject> SelectedSwitchItems { get; private set; }
public SelectedObjectsViewModel(SelectedObjects selectedObjects)
{
SelectedSwitchItems = new ObservableCollection<PointNetObject>(GetSwitches());
}
IEnumerable<PointNetObject> GetSwitches()
{
foreach (var netObject in SelectedObjectsInstance.GetSelectedObjectItems(x => IsSwitch(x)))
{
yield return (PointNetObject) netObject;
}
}
in Aussicht:
<DataGrid Name="SelectedSwitchesGrid" CanUserAddRows="False" CanUserResizeColumns="True" CanUserSortColumns="True" IsReadOnly="True"
ItemsSource="{Binding SelectedSwitchItems}"
<DataGrid.Columns>
<DataGridTextColumn Header="{DynamicResource XpStrLabel}" Binding="{Binding Label}" />
<DataGridTextColumn Header="{DynamicResource XpStrPhase}" Binding="{Binding Phase}" />
<DataGridTextColumn Header="{DynamicResource XpStrState}" Binding="{Binding State, Converter={StaticResource SwitchObjectStateToStringConverter}}" />
</DataGrid.Columns>
</DataGrid>
gut Ihre 'SwitchObjectState State' Eigenschaft ist nicht' public', was ziemlich wichtig ist. – Jonesopolis
danke, ich bin ein Idiot –
@Jonesopolis: Care asnwer schreiben, damit ich es akzeptieren kann? –