View Issue Details

IDProjectCategoryView StatusLast Update
0004967NoesisGUIC# SDKpublic2026-10-16 12:07
Reporternoko440 Assigned Tosfernandez  
PrioritynormalSeveritymajor 
Status assignedResolutionopen 
Product Version3.2.12 
Target Version4.0.3 
Summary0004967: noesis:RichText.Text content isn't processed on elements that start with Visibility="Collapsed".
Description

noesis:RichText.Text content isn't processed on elements that start with Visibility="Collapsed". When the element later transitions to Visible (e.g. via VisualState storyboard), the RichText inlines never appear to be created and the element renders as empty.

Changing the initial Visibility from Collapsed to Hidden "fixes" it, but it's not ideal.

Works — starts Visible, hidden by VisualState

  <TextBlock x:Name="KBMIcon" noesis:RichText.Text="[input]AimAbilityConfirm[/input]"/>

Broken — starts Collapsed, RichText never processes when made Visible

  <TextBlock x:Name="ControllerIcon" Visibility="Collapsed" noesis:RichText.Text="[input]AimAbilityCancel[/input]"/>

Works — Hidden instead of Collapsed

  <TextBlock x:Name="ControllerIcon" Visibility="Hidden" noesis:RichText.Text="[input]AimAbilityCancel[/input]"/>

...the VisualState that shows the controller icon:

  <VisualState x:Name="Controller">
      <Storyboard>
          <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ControllerIcon"
              Storyboard.TargetProperty="(UIElement.Visibility)">
              <DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Visible}"/>
          </ObjectAnimationUsingKeyFrames>
      </Storyboard>
  </VisualState>

Note: '[input]' is our handler for TryCreateTagExtension

  namespace Runtime.Client.UI.Utilities
  {
      public static class CustomRichTextTags
      {
          public static void Initialize()
          {
              RichText.TryCreateTagExtension = TryCreateTagExtension;
          }

          private static bool TryCreateTagExtension(string tagName, string content,
              List<RichText.Parameter> parameters, InlineCollection inlineCollection)
          {
              switch (tagName)
              {
                  case "input":
                      return ProcessInputRichTag(ref content, ref parameters, ref inlineCollection);
                  // ... other tags ...
              }
          }

          private static bool ProcessInputRichTag(ref string content,
              ref List<RichText.Parameter> parameters, ref InlineCollection inlineCollection)
          {
              var mapCategory = string.Empty;
              var ruleset = string.Empty;
              foreach (var element in parameters)
              {
                  switch (element.Key)
                  {
                      case "ruleset": ruleset = element.Value; break;
                      case "map": mapCategory = element.Value; break;
                  }
              }

              var glyph = new InputActionGlyph
              {
                  MapCategory = mapCategory,
                  RuleSet = ruleset,
                  Action = content
              };
              // ...adds glyph as InlineUIContainer to inlineCollection
          }
      }
  }
PlatformWindows

Activities

sfernandez

sfernandez

2026-04-09 09:51

manager   ~0012183

Could you indicate where I can test this in your project now that I have access to your repository?
I'm not able to reproduce it in a simple scenario.

noko440

noko440

2026-04-09 18:25

reporter   ~0012185

Last edited: 2026-04-09 18:26

Sure! Will DM you in our slack channel.

Issue History

Date Modified Username Field Change
2026-04-07 03:14 noko440 New Issue
2026-04-07 03:15 noko440 Description Updated
2026-04-07 03:16 noko440 Description Updated
2026-04-07 13:36 jsantos Assigned To => sfernandez
2026-04-07 13:36 jsantos Status new => assigned
2026-04-07 13:36 jsantos Target Version => 3.2.13
2026-04-07 13:36 jsantos Description Updated
2026-04-09 09:51 sfernandez Status assigned => feedback
2026-04-09 09:51 sfernandez Note Added: 0012183
2026-04-09 18:25 noko440 Note Added: 0012185
2026-04-09 18:25 noko440 Status feedback => assigned
2026-04-09 18:25 noko440 Note Edited: 0012185
2026-04-09 18:25 noko440 Note Edited: 0012185
2026-04-09 18:26 noko440 Note Edited: 0012185
2026-04-27 12:17 jsantos Target Version 3.2.13 => 3.2.14
2026-10-16 12:07 jsantos Target Version 3.2.14 => 4.0.3