C
Join ServerC#
help
❔ Custom DataTemplate for TextElements or alternative approaches
TTwiner12/22/2022
In WPF I'm working on a customized RichTextBox that will add TextElements that are bound to view models. I want to DataTemplates for this, but you can't put TextElements in a DataTemplate.
I've been looking into DataTemplate and FrameworkTemplate to see how they work, but its quite involved and maybe I'm over thinking this.
I want to be able to supply, in xaml preferably, a collection of mappings between a partially configure DataType and a template that will be bound to it.
This is the code I have for the association at the moment, making a copy of the DataContext is easy enough, but I don't know a what to do to make a copy of the ElementTemplate and maintain the binding information.
I've been looking into DataTemplate and FrameworkTemplate to see how they work, but its quite involved and maybe I'm over thinking this.
I want to be able to supply, in xaml preferably, a collection of mappings between a partially configure DataType and a template that will be bound to it.
This is the code I have for the association at the moment, making a copy of the DataContext is easy enough, but I don't know a what to do to make a copy of the ElementTemplate and maintain the binding information.
<x:Array x:Key="DetailTypes" Type="{x:Type v:ContextOption}">
<v:ContextOption DisplayName="Header">
<v:ContextOption.DataContext>
<m:AddDescriptionDetail Style="Header" />
</v:ContextOption.DataContext>
<v:ContextOption.ElementTemplate>
<rt:Header Text="{Binding Path=Description}"/>
</v:ContextOption.ElementTemplate>
</v:ContextOption>
</x:Array>
[ContentProperty(nameof(ElementTemplate))]
public class ContextOption
{
public IShallowCloner DataContext { get; set; }
public string DisplayName { get; set; }
public TextElement ElementTemplate { get; set; }
}
TTwiner12/22/2022
My aim is to make it so I can easily add new type associations and how they will be rendered in the FlowDocument
TTwiner12/23/2022
Seems this is doable to a limited extent by implementing ICloneable and using MemberwiseClone
This limits its usage to custom types
This limits its usage to custom types
AAccord12/24/2022
Looks like nothing has happened here. I will mark this as stale and this post will be archived until there is new activity.