У меня есть иерархический класс, подобный этому
Part
SubPart
SubSubPart1
SubSubPart2
У меня есть элемент управления, который заполняется SubSubPart, и в этом элементе управления я хочу показать информацию о родительских элементах SubPart и Part.Я хочу использовать обычное связывание в xaml для отображения информации о родительской части.
Каждая часть имеет уникальный ObjectId в качестве свойства, каждая часть имеет несколько свойств, которые я хочу отобразить.
Элемент управления знает только об одном подразделе.
Я понимаю, что могу написать конвертер
public object Convert(object value, System.Type targetType, object parameter, CultureInfo culture)
{
if (DesignerProperties.GetIsInDesignMode(new DependencyObject()))
{ return "Design Part"; }
else
{
IDataService applicationService = ServiceLocator.Current.GetInstance<IDataService>();
IPartItem partItem = applicationService.GetEquipmentFromComponent(value.ToString());
return partItem.PartData.Name;
}
}
и применить его вот так
<TextBlock Grid.Row="0" Grid.Column="1"
Text="{Binding Path=ObjectId,Converter={StaticResource partConverter}}" Margin="0,0,10,0">
</TextBlock>
Но тогда мне нужно написать конвертер для каждого свойства родительских частей.Любые решения там.