私が取得:1列のDataGridTextcolumnではObservableCollectionの実際のクラスのプロパティが見つかりませんが、親クラスのプロパティは?
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')
を。すべての行がテーブルに追加されますが、各行に対してエラーが発生します。他の2つの列は各行ごとに表示されます。しかし、国家ではない。もちろん、コンバータは決して呼び出されません。
セットアップは以下のとおりです。
私はオブジェクトを持っている:
フェーズのような性質を持つクラスとのViewModelにラベル継承
public class PointNetObject : NetObject
{
SwitchObjectState State
{
get { return _state; }
set { _state = value; }
}
}
:
<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>
あなたの 'SwitchObjectState State'プロパティは' public'ではありません。かなり重要です。 – Jonesopolis
ありがとう、私はばかだよ –
@ Jonesopolis:私はそれを受け入れることができるようにasnwerとして書くケア? –