Мне не удалось найти что-то подходящее для конкретного случая привязки XML, который я пытаюсь сделать.
У меня есть следующий фрагмент XML:
Я хочу связать атрибут типа с полем со списком в пользовательском контроле, но у меня есть список выбираемых значений, управляемых списком в пользовательском контроле.
В моем 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>
Проблема в том, что это не связывает значения. Я вижу три возможности в раскрывающемся списке, но независимо от того, что я выбрал, они не отражаются в XML. Аналогично, начальное значение не отображается в выпадающем списке, даже если оно установлено. Я знаю, что базовый текст данных является правильным, потому что у меня есть метка в групповом поле
<TextBox Text="{Binding XPath=HP/@amount}" Height="23" HorizontalAlignment="Right" Margin="0,16,6,0" Name="HPFieldHealingAmount" VerticalAlignment="Top" Width="112" />
и отображает количество правильно. Я уверен, что я просто не знаю, как правильно установить привязку. Я пробовал многочисленные предложения, которые показали, когда я гуглил по этому поводу, но ни одно из них не сработало. Любая помощь будет оценена. спасибо