Skip to content

[InlineCollection] Partially improvement while editing existing inline collection just one issue to fix #109

@DevTKSS

Description

@DevTKSS

Current behavior

Editing an existing inline collection in my app using HD with expected 2 items does show up as 3 in HD and has some parsing problems 🤔

🤔 not sure why it displayed 3 Items at first, but deleting the 2nd and 3rd InlineCollection Item and adding + x:Bind it again worked gracefully 👍

fail: Uno.UI.HotDesign.Client.XamlUpdates.ShadowXamlDom[0]
      Could not find file  in the shadow XAML DOM.
fail: Uno.UI.HotDesign.Xaml.XamlQuerier[0]
      Received an ElementIdentifier without a filename.
fail: Uno.UI.HotDesign.Client.AppUpdater[0]
      Received an ElementIdentifier without a filename.

The warnings did not show up on the initial try where I was expecting it to not work because Text Run is not supported officially😅

Expected behavior

  • Should just keep showing the 2 entrys not suddenly 3 with one of them empty
  • should not have parsing issues

Which tool(s) are affected?

Hot Design®

How to reproduce it (as minimally and precisely as possible)

https://technischekonstruktion-my.sharepoint.com/:v:/g/personal/info_technische-konstruktion_com/EbEYBfh-Sn9GiG0AW5PfbpYBzJmyG8OiUtOCW8C8cjkwzA?e=EYXcbD

public sealed partial class MainPage : Page
{
   private static DependencyProperty WebViewIsNavigatingProperty { get; } =
       DependencyProperty.Register(
           nameof(WebViewIsNavigating),
           typeof(bool),
           typeof(MainPage),
           new PropertyMetadata(default(bool)));
    internal bool WebViewIsNavigating 
    {
        get => (bool)GetValue(WebViewIsNavigatingProperty);
        private set => SetValue(WebViewIsNavigatingProperty,value); 
    }

    public MainPage()
    {
        this.InitializeComponent();

        var logger = this.GetServiceProvider()?.GetRequiredService<ILogger>();
        logger ??= this.Log();
        MyWebView2.NavigationStarting += (s, e) =>
        {
            logger.LogInformation("NavigationStarting to {url} with NavigationId: {NavigationId} and Value of IsUserInitialized: {IsUserInitialized} ", e.Uri, e.NavigationId, e.IsUserInitiated);
            WebViewIsNavigating = true;
        };
        MyWebView2.NavigationCompleted += (s, e) =>
        {
            logger.LogInformation("NavigationCompleted with current Source: {Source} with NavigationId: {NavigationId}, IsSuccess: {IsSuccess}, WebErrorStatus: {WebErrorStatus}",
                s.Source.ToString(), e.NavigationId, e.IsSuccess, e.WebErrorStatus);
            WebViewIsNavigating = false;
        };

the xaml to this:

<TextBlock x:Name="NavigationStatusBlock">
    <Run Text="Status: " /><Run Text="{x:Bind Path=WebViewIsNavigating, Mode=OneWay}" />
</TextBlock>

Same Repro like the last issue about WebView2 "UnoApp5"

Workaround

Mentioned above

Renderer

  • Skia
  • Native

Affected platforms

No response

Uno.Sdk version

6.2.36 (?)

IDE used

No response

IDE version

Vs2022 .14.15 (latest)

Uno Platform Extension version

Same as used sdk version

Relevant plugins

No response

Anything else we need to know?

maybe you can use the same fix for the parsing as in ListView etc for the item members that was having a very similar problem to re-find its children?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions