0

以下のコードでは、ListBox は XML ファイルからの色の名前で埋められますが、奇妙なことにそれらの名前は TextBox には表示されません。

ただし、テキストボックスを静的な「lbColor2」にバインドすると、それらの名前が表示されます。

では、名前が XML ソースから取得された場合、名前の違いによって名前が渡されない可能性があるのでしょうか?

<StackPanel>
    <StackPanel.Resources>
        <XmlDataProvider x:Key="ExternalColors" Source="App_Data/main.xml" XPath="/colors"/>
    </StackPanel.Resources>
    <TextBlock Text="Colors:"/>
    <ListBox Name="lbColor" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding Source={StaticResource ExternalColors}, XPath=color/@name}"/>
    <ListBox Name="lbColor2">
        <ListBoxItem>Red</ListBoxItem>
        <ListBoxItem>Orange</ListBoxItem>
        <ListBoxItem>Cyan</ListBoxItem>
    </ListBox>
    <TextBlock Text="You selected color:"/>
    <TextBox
        Text="{Binding ElementName=lbColor, Path=SelectedItem.Content}"
        >
    </TextBox>
</StackPanel>

XML ファイルは次のとおりです。

<?xml version="1.0" encoding="utf-8" ?>
<colors>
  <color name="Pink"/>
  <color name="Cyan"/>
  <color name="LightBlue"/>
  <color name="LightGreen"/>
  <color name="Another One"/>
</colors>
4

1 に答える 1

1

を にバインドしましたTextBoxが、 というプロパティSelectedItem.ContentXmlAttributeありませんContent。これに変更すると、問題ありません。

<TextBox Text="{Binding ElementName=lbColor, Path=SelectedItem.Value}"/>
于 2009-01-23T15:32:39.423 に答える