У меня есть конвертер, который имеет пару входных переменных (объект и TextBox), а затем возвращает свойство TextBox.Text
String.
Проблема, с которой я сталкиваюсь, заключается в методе ConvertBack()
моего конвертера. У меня нет способа связать какие-либо обновления с объектом, поскольку все, что я получаю, это строка (текст текстового поля) Есть ли способ получить доступ к некоторым (если не ко всем) переменным Convert()
? Или хотя бы знать, какое текстовое поле вызывает ConvertBack()
?
Вот мой код ItemsControl:
<ItemsControl x:Name="ItemsControlGrid" ItemsSource="{Binding Path=ProjectOrganLocation.LesionTypes, Source={StaticResource Locator}}" >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Width="75" TextAlignment="Center" >
<TextBox.Text>
<MultiBinding Converter="{StaticResource LesionTypeConverter}" >
<Binding RelativeSource="{RelativeSource AncestorType={x:Type TreeViewItem}}" Path="DataContext.OrganLocation"/>
<Binding RelativeSource="{RelativeSource Self}" Path="." />
</MultiBinding>
</TextBox.Text>
</TextBox>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
А вот фрагмент из моего конвертера:
List<CategoryCode> Lesions = organ.getLesionTypes;
if (organ.OrganDisplayName == organ.CurrentOrgan)
organ.Count++;
else
{
organ.Count = 0;
organ.CurrentOrgan = organ.OrganDisplayName;
}
return organ.Labels[organ.Count].LabelPrefix;