'バインディング'は、 'バインディング'タイプの 'ソース'プロパティで設定できません。 「Binding」はDependencyObjectのDependencyPropertyでのみ設定できます。'バインディング'タイプの 'ソース'プロパティに 'Binding'を設定できません
私は thisのサンプルコードを使用しようとするのItemsSourceは= "{}ソース= {バインディングパス=データバインディング?Data = "<root><parm1>1</parm1><parm2>2</parm2><parm3>3</parm3></root>"
と間違っている何
<TreeView Height="400" Width="400">
<TreeViewItem ItemsSource="{Binding Source={Binding Path=Data}, XPath=*,
Converter={StaticResource stringToXmlDataProviderConverter},ConverterParameter=/root }" Header="header" />
</TreeView>
。 違いは、ItemsSourceをdatacontextのデータにバインドすることです。 コンバーターには何も問題はありません。
EDIT:
<TreeViewItem ItemsSource="{Binding Path=Data}" Header="Parameters" />
は、一つの要素(文字列)と、ツリービューを塗りつぶし。だからdatacontextは正しいです。
編集: このコードはうまくいきます。 ThreeViewでXMLを読み取る一般的な方法はありますか?私はXMLの構造を知らない。すべての例で、私はあなたがサブノードの型を宣言しなければならないことを見てきました。
<TreeViewItem DataContext="{Binding Path=Data, Converter={StaticResource stringToXmlDataProviderConverter}}" ItemsSource="{Binding .}" Header="Parameters" />
「データ」はどのように見えますか?そのデータ型は何ですか?そのプロパティは何ですか? – Gabe