[英]Binding the SelectedItem of a WPF ComboBox to an XML Attribute
我目前有一個包含ComboBoxes的DataGrid列。 DataGrid綁定到XML文件,而Combobox綁定到子節點(車輛)。 所需的值當前顯示在我的ComboBox中,但是不會設置所選的值。 我究竟做錯了什么。
這是我的XML結構
<Names>
<Name isActive="True">
<Family>Doe</Family>
<First>John</First>
<Middle>Deer</Middle>
<Vehicles>
<Vehicle isSelected="true">Car1</Vehicle>
<Vehicle>Car2</Vehicle>
</Vehicles>
</Name>
</Names>
這是我的XAML
<DataGrid DataContext="{StaticResource CrewInfo}" ItemsSource="{BindingXPath=/Names/Name}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Family Name" Binding="{Binding XPath=Family}"/>
<DataGridTextColumn Header="First Name" Binding="{Binding XPath=First}"/>
<DataGridTextColumn Header="Middle Name" Binding="{Binding XPath=Middle}"/>
<DataGridTemplateColumn Header="Vehicles">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Name="vehicleBox" ItemsSource="{Binding XPath=Vehicles/Vehicle}" IsSynchronizedWithCurrentItem="true">
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="IsSelected" Value="{Binding XPath=@isSelected, Mode=TwoWay}"/>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
奇怪的是,我在不相關的線程上找到了答案。
這是theSelectedValue綁定的正確代碼。
<ComboBox Name="vehicleBox" ItemsSource="{Binding XPath=Vehicles//*}">
<ComboBox.SelectedValue>
<Binding XPath="Vehicles/Vehicle[@isSelected='True']"/>
</ComboBox.SelectedValue>
</ComboBox>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.