Tôi đã tìm kiếm rất nhiều và đã thử rất nhiều nhưng tôi không thể tìm hiểu lý do tại sao nó không hoạt động. Tôi đang cố gắng để xuất một tập tin XML vào một listview thông qua databinding trong xaml của tôi.C# Databinding một XML để một listview WPF
<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>
Và tập tin XML của tôi trông như thế này
<?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>
Dữ liệu không hiển thị trong listview. Tôi có cần thêm mã cs không?
Mã của bạn có vẻ tốt với tôi, bạn có kiểm tra bất kỳ lỗi nào của DataBinding không? Giống như [so] (http://stackoverflow.com/questions/4026543/is-there-a-good-tool-for-debugging-xamls-databinding-behavior-errors-at-runti). – Kolky
Tôi sẽ sử dụng treeview thay vì một listview. Xem ví dụ sau: http://stackoverflow.com/questions/28976601/recursion-parsing-xml-file-with-attributes-into-treeview-c-sharp – jdweng
Tôi vừa thử nghiệm nó và nó hoạt động như mong đợi. Tệp kunden.xml có tồn tại trong tài nguyên hoặc nội dung không? –