I have searched a lot and tried a lot but I cannot find out why it's not working. I am trying to output an XML file to a listview via databinding in my xaml.
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Kundenstrom"
xmlns:Properties="clr-namespace:Kundenstrom.Properties" x:Class="Kundenstrom.MainWindow"
mc:Ignorable="d"
Title="Kundenstrom" Height="232.5" Width="631" Icon="Hopstarter-Sleek-Xp-Basic-User-Group.ico">
<Window.Resources>
<XmlDataProvider x:Key="Kundenstromdaten" Source="kunden.xml" XPath="Kundenstrom/Kunden"/>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="11*"/>
<ColumnDefinition Width="77*"/>
<ColumnDefinition Width="11*"/>
<ColumnDefinition Width="40*"/>
<ColumnDefinition Width="21*"/>
<ColumnDefinition Width="357*"/>
</Grid.ColumnDefinitions>
<TabControl x:Name="tabControl" Grid.ColumnSpan="6" TabStripPlacement="Top" Margin="10,0,10,10">
<TabItem Header="Eintragen">
<Grid Background="#FFE5E5E5">
<TextBox x:Name="txtGrund" Height="44" Margin="10,10,10,0" TextWrapping="Wrap" VerticalAlignment="Top"/>
<ComboBox x:Name="cmbTyp1" HorizontalAlignment="Left" Margin="10,59,0,0" VerticalAlignment="Top" Width="287">
<ComboBoxItem Content="Laden"/>
<ComboBoxItem Content="Telefon"/>
<ComboBoxItem Content="Mail"/>
</ComboBox>
<ComboBox x:Name="cmbTyp2" Margin="302,58,10,0" VerticalAlignment="Top">
<ComboBoxItem Content="Anfrage"/>
<ComboBoxItem Content="Auftrag"/>
<ComboBoxItem Content="Abholung"/>
</ComboBox>
<Button x:Name="btnEintragen" Content="Eintragen" HorizontalAlignment="Left" Margin="10,86,0,0" VerticalAlignment="Top" Width="287" Height="36" Click="btnEintragen_Click"/>
</Grid>
</TabItem>
<TabItem Header="Kunden anzeigen">
<Grid Background="#FFE5E5E5">
<ListView Margin="10" ItemsSource="{Binding Source={StaticResource Kundenstromdaten}}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding XPath=Grund}" Header="Grund" />
<GridViewColumn DisplayMemberBinding="{Binding XPath=Typ1}" Header="Kundentyp" />
<GridViewColumn DisplayMemberBinding="{Binding XPath=Typ2}" Header="Anfragetyp" />
<GridViewColumn DisplayMemberBinding="{Binding XPath=Zeitpunkt}" Header="Zeitpunkt" />
</GridView>
</ListView.View>
</ListView>
</Grid>
</TabItem>
</TabControl>
</Grid>
</Window>
And my XML file looks like this
<?xml version="1.0" encoding="utf-8"?>
<Kundenstrom>
<Kunden>
<Grund>hfth</Grund>
<Typ1>Laden</Typ1>
<Typ2>Auftrag</Typ2>
<Zeitpunkt>04.04.2016 15:01:38</Zeitpunkt>
</Kunden>
<Kunden>
<Grund>testestsetsetse</Grund>
<Typ1>Laden</Typ1>
<Typ2>Anfrage</Typ2>
<Zeitpunkt>04.04.2016 16:57:59</Zeitpunkt>
</Kunden>
</Kundenstrom>
The data is not showing in the listview. Do I need additional cs code?
C programming language is a machine-independent programming language that is mainly used to create many types of applications and operating systems such as Windows, and other complicated programs such as the Oracle database, Git, Python interpreter, and games and is considered a programming foundation in the process of ...
C is a structured, procedural programming language that has been widely used both for operating systems and applications and that has had a wide following in the academic community. Many versions of UNIX-based operating systems are written in C.
It is hard to learn because: It has complex syntax to support versatility. It is a permissive language—you can do everything that's technically possible, even if not logically right. It is best learned by someone who already has a foundation with C programming.
No extra cs code is needed.
Source property of XmlDataProvider is a Uri, not a file path. So if you write there only “kunden.xml”, your application is looking for this file in application resources. To add this file to application resources you shall add your xml file to your project (Add->Existing item). In files its properties set "Build Action" to "Resource"
If you want your app to load from standalone file (i.e. kunden.xml shall be in the same folder where your exe is), you shall:
If you want to use absolute name of the file, simply use Source=“file:///D:/my/absolute/path/kunden.xml”.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With