WPF: Textbox an Listbox binden

23/07/2009 - 14:40 von Tamara Mikes | Report spam
Salü alle zusammen

Im Buch schaut es so einfach aus. Aber am Computer... (bitte um Hilfe...)


Ich möchte gerne eine Listbox welche mir Werte aus einer XML Datei anzeigt.
In einer daneben stehenden Textbox möchte ich die Details zum in der Listbox
ausgewàhlten Wert sehen.

Meine XML Datei schaut folgendermassen aus:

<?xml version="1.0" encoding="utf-8" ?>
<webseiten>
<web id="TestSeite von Alph">
<lokal>D:\TestSeite</lokal>
<webURL>www.Test.de</webURL>
<aktiv>true</aktiv>
</web>
</webseiten>

Dann habe ich die Listbox gemacht welche mir auch korrekt die Daten aus dem
XML anzeigt (Eigentlich hàtte ich lieber den Text bei ID, aber das weiss ich
nicht wie):

<ListBox Grid.RowSpan="3" Margin="3" Name="lbWebs" Grid.Row="1"
ItemsSource="{Binding Source={StaticResource ws},
XPath=//web/webURL}" />

Jetzt kàmpfe ich mit der folgenden Textbox die eigentlich den Wert Lokal aus
der XML Datei anzeigen sollte:

<TextBox Grid.Column="2" Grid.Row="0" Margin="3" Name="textBox1"
Text ="{Binding SelectedItem.lokal}" />

Habe auch folgendes probiert:

<TextBox Grid.Column="2" Grid.Row="0" Margin="3" Name="textBox1"
Text ="{Binding SelectedItem.lokal, ElementName=lbWebs}" />

und

<TextBox Grid.Column="2" Grid.Row="0" Margin="3" Name="textBox1"
Text ="{Binding Path=lokal, ElementName=lbWebs}" />

Leider zeigt mir die Textbox einfach nichts an.
Weiss jemand, was ich falsch mache?

Vielen Dank für Hinweise
Gruss Tamara
 

Lesen sie die antworten

#1 Martin Honnen
23/07/2009 - 15:34 | Warnen spam
Tamara Mikes wrote:

Ich möchte gerne eine Listbox welche mir Werte aus einer XML Datei
anzeigt. In einer daneben stehenden Textbox möchte ich die Details zum
in der Listbox ausgewàhlten Wert sehen.

Meine XML Datei schaut folgendermassen aus:

<?xml version="1.0" encoding="utf-8" ?>
<webseiten>
<web id="TestSeite von Alph">
<lokal>D:\TestSeite</lokal>
<webURL>www.Test.de</webURL>
<aktiv>true</aktiv>
</web>
</webseiten>

Dann habe ich die Listbox gemacht welche mir auch korrekt die Daten aus
dem XML anzeigt (Eigentlich hàtte ich lieber den Text bei ID, aber das
weiss ich nicht wie):

<ListBox Grid.RowSpan="3" Margin="3" Name="lbWebs" Grid.Row="1"
ItemsSource="{Binding Source={StaticResource ws},
XPath=//web/webURL}" />

Jetzt kàmpfe ich mit der folgenden Textbox die eigentlich den Wert Lokal
aus der XML Datei anzeigen sollte:

<TextBox Grid.Column="2" Grid.Row="0" Margin="3" Name="textBox1"
Text ="{Binding SelectedItem.lokal}" />



Hier ein Beispiel:

<Window x:Class="WpfApplication47.Window1"
xmlns="http://schemas.microsoft.com/winfx/...tion"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<XmlDataProvider x:Key="xdp1" Source="XMLFile1.xml"
XPath="webseiten/web"></XmlDataProvider>
</Window.Resources>
<StackPanel DataContext="{Binding Source={StaticResource xdp1}}">
<ListBox Name="lbWebs" ItemsSource="{Binding}"
IsSynchronizedWithCurrentItem="true">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock FontSize="12" Foreground="Red">
<TextBlock.Text>
<Binding XPath="@id"/>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

<TextBox Name="textBox1" DataContext="{Binding
ElementName=lbWebs, Path=SelectedItem}" Text="{Binding
XPath=lokal}"></TextBox>

</StackPanel>
</Window>

Das folgt dem Beispiel http://msdn.microsoft.com/en-us/lib...53959.aspx



Martin Honnen MVP XML
http://msmvps.com/blogs/martin_honnen/

Ähnliche fragen