C# WPF组合框XML绑定

C# WPF组合框XML绑定,c#,wpf,binding,C#,Wpf,Binding,我还没有找到适合我正在尝试的XML绑定这种特殊情况的方法 我有以下xml片段: 我想将type属性绑定到usercontrol上的一个combobox,但是由usercontrol上的列表驱动可选值的列表 在usercontrol上,我创建了可能值的列表: <UserControl.Resources> <x:Array x:Key="HealingComponentTypes" Type="sys:String"> <sys:Strin

我还没有找到适合我正在尝试的XML绑定这种特殊情况的方法

我有以下xml片段:

我想将type属性绑定到usercontrol上的一个combobox,但是由usercontrol上的列表驱动可选值的列表

在usercontrol上,我创建了可能值的列表:

<UserControl.Resources>
    <x:Array x:Key="HealingComponentTypes" Type="sys:String">
        <sys:String>Absolute</sys:String>
        <sys:String>AbsolutePercent</sys:String>
        <sys:String>RelativePercent</sys:String>
    </x:Array>
</UserControl.Resources>

绝对的
绝对百分比
相对百分比
然后我把它们绑在组合框上

<GroupBox DataContext="{Binding XPath=FieldHealingComponent}"  Header="Field Use" Height="328" HorizontalAlignment="Left" Margin="231,2,0,0" Name="groupBox3" VerticalAlignment="Top" Width="220">
            <Grid>
                <GroupBox Header="HP Healing Component" Height="101" HorizontalAlignment="Left" Margin="6,0,0,0" Name="HPFieldUseGroup" VerticalAlignment="Top" Width="192">
                    <Grid>
                        <ComboBox ItemsSource="{StaticResource HealingComponentTypes}" SelectedItem="{Binding XPath=HP/@type}" Height="23" HorizontalAlignment="Left" Margin="62,49,0,0" Name="MPBattleUseType" VerticalAlignment="Top" Width="112" />
                    </Grid>
                </GroupBox>
           </Grid>
        </GroupBox>

问题是,这不会绑定值。我在combobox下拉列表中看到了这三种可能性,但不管我选择了什么,它都不会反映回xml中。类似地,即使设置了初始值,组合框中也不会显示初始值。我知道基本datacontext是正确的,因为我在groupbox中有一个标签

<TextBox Text="{Binding XPath=HP/@amount}"  Height="23" HorizontalAlignment="Right" Margin="0,16,6,0" Name="HPFieldHealingAmount" VerticalAlignment="Top" Width="112" />


并正确显示金额。我肯定这是jsut,但我不知道如何正确设置绑定。当我在谷歌上搜索这个时,我尝试了很多建议,但没有一个有效。任何帮助都将不胜感激。谢谢

您在绑定中尝试过Mode=TwoWay吗?

您尝试过使用转换器吗?我相信绑定属性的类型不是string类型,您需要使用
IValueConverter
来正确读取和更新XML