일부 WPF 데이터 바인딩을 수행하려고하는데, 지금은 약간 매달려 있습니다. 두 개의 목록 상자와 XML 파일이 있습니다. 첫 번째 목록 상자가 XML 소스에 성공적으로 바인딩됩니다. 그러나 첫 번째 목록 상자에서 두 번째 목록 상자의 원본으로 선택한 항목의 자식 바인딩 할 때 아무 것도 나타납니다. 목표는 색인 또는 조회 (색인을 하나 선택하여 관련 항목을 찾는 결과)와 같은 것입니다. 데이터 바인딩을 위해 여기에 뭔가 빠져 있습니까? 아래의 XAML 및 XMLWPF XML DataBinding
XAML :
<Window x:Class="MyTool.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="600" Width="800">
<Window.Resources>
<XmlDataProvider x:Key="AllDeployments" XPath="Deployments" Source="Deployments.xml" />
<DataTemplate x:Key="dtDeployments">
<StackPanel FlowDirection="LeftToRight" Orientation="Horizontal">
<TextBlock Text="{Binding [email protected]}" />
<TextBlock Text=" - "/>
<TextBlock Text="{Binding [email protected]}" />
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="dtFiles">
<TextBlock Text="{Binding XPath=File}" />
</DataTemplate>
</Window.Resources>
<Grid Name="gMain">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="2"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Menu Grid.Column="0" Grid.ColumnSpan="3"></Menu>
<ListBox Grid.Column="0" Name="lbDeployment"
ItemsSource="{Binding Source={StaticResource AllDeployments}, XPath=Deployment}"
ItemTemplate="{StaticResource dtDeployments}"></ListBox>
<GridSplitter Grid.Column="1"></GridSplitter>
<StackPanel Grid.Column="2">
<ListBox Name="lbFiles"
ItemsSource="{Binding Mode=TwoWay, ElementName=lbDeployments, Path=SelectedItem.InnerText, UpdateSourceTrigger=PropertyChanged}"
ItemTemplate="{StaticResource dtFiles}"
Height="400"></ListBox>
</StackPanel>
</Grid>
</Window>
XML : 그들은 디버그에 매우 하드를 만드는, 자동으로 실패하는 경향이 있기 때문에
<?xml version="1.0" encoding="utf-8"?>
<Deployments MostRecentDate="12/31/2009 8:41:13 PM">
<Filters>
<Filter>.cs</Filter>
<Filter>.csproj</Filter>
</Filters>
<Deployment Name="First Deployment" ID="1" Date="6/29/2009 8:41:13 PM">
<File>file1.cs</File>
<File>file2.cs</File>
</Deployment>
<Deployment Name="First Deployment" ID="1" Date="6/29/2009 8:41:13 PM">
<File>file1.cs</File>
<File>file2.cs</File>
</Deployment>
<Deployment Name="First Deployment" ID="1" Date="6/29/2009 8:41:13 PM">
<File>file1.cs</File>
<File>file2.cs</File>
</Deployment>
<Deployment Name="First Deployment" ID="1" Date="6/29/2009 8:41:13 PM">
<File>file1.cs</File>
<File>file2.cs</File>
</Deployment>
<Deployment Name="First Deployment" ID="1" Date="6/29/2009 8:41:13 PM">
<File>file1.cs</File>
<File>file2.cs</File>
</Deployment>
</Deployments>
감사합니다. 작동하지 않는 템플릿에 관해서는, 내가 제공 한 XPath와 관련이 있는지 의심 스럽습니다. – CodeMonkey1313