How to make TextBlock within a DataTemplate visible to UI Automation
WPF intentionally hides TextBlocks that are inside a DataTemplate to improve performance. To make them visible, you have to replace them by aLabel
which can be a performance hit, or you make a special UiAutomationTextBlock
that overrides this behavior:public class UiAutomationTextBlock : TextBlock { protected override AutomationPeer OnCreateAutomationPeer() { return new ModifiedTextBlockAutomationPeer(this); } private class ModifiedTextBlockAutomationPeer : TextBlockAutomationPeer { public ModifiedTextBlockAutomationPeer(TextBlock textBlock) : base(textBlock) { } protected override bool IsControlElementCore() { return true; } } }
No comments:
Post a Comment