我有一个数据报,如下所示:
<wpfkit:DataGrid AutoGenerateColumns="False"
ItemsSource="{Binding}"
Width="Auto"
FrozenColumnCount="2"
SelectionMode="Extended"
CanUserAddRows="False"
x:Name="CommonPEGrid"
Loaded="CommonPEGrid_Loaded">
<wpfkit:DataGrid.DataContext>
<XmlDataProvider Source="PE.xml" XPath="/Rows/Row"></XmlDataProvider>
</wpfkit:DataGrid.DataContext>
</wpfkit:DataGrid>
我正在将它从XML绑定到DataGrid。我的XML如下:
<Rows>
<Row Id="1">
<Devices>
<Device>Device 1</Device>
<Device>Device 2</Device>
</Devices>
</Row>
<Row Id="2">
<Devices>
<Device>Device 3</Device>
<Device>Device 4</Device>
</Devices>
</Row>
我为DataGrid中的单元格定义了一个数据模板,定义如下:
<DataTemplate x:Key="MethodDefault">
<ComboBox Margin="5" Height="25" ItemsSource="{Binding XPath=./Devices}" SelectedIndex="0"
>
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding XPath=./Device}"></TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</DataTemplate>
问题是它总是只显示一个设备,即组合框中的第一个设备。我想在下拉列表中显示所有设备。我不知道如何迭代它们。我原以为ComboBox会自动迭代,但事实并非如此。请帮帮我!!