View Issue Details

IDProjectCategoryView StatusLast Update
0002718NoesisGUIC++ SDKpublic2025-04-09 15:04
ReporterLarianStudios Assigned Tosfernandez  
PrioritynormalSeveritymajor 
Status assignedResolutionopen 
Product Version3.1.6 
Target Version3.2 
Summary0002718: it's possible to create an infinite loop from xaml
Description

IF you create a contentpresenter style on a datatemplate and let it change the contenttemplate from a trigger this will trigger

mFlags.refreshVisualTree = true on applying of the datatemplate
when the container is reused when scrolling a virtualised list

Steps To Reproduce

<Style x:Key="SlotPresenterStyle" TargetType="ContentPresenter">
<Setter Property="ContentTemplate" Value="{StaticResource Template.GameObject}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Object.Type}" Value="Item">
<Setter Property="ContentTemplate" Value="{StaticResource Template.Item}"/>
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Object.Type}" Value="Item"/>
<Condition Binding="{Binding Object.IsEquipment}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="ContentTemplate" Value="{StaticResource Template.ItemEquipment}"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Object.Type}" Value="Item"/>
<Condition Binding="{Binding Object.IsContainer}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="ContentTemplate" Value="{StaticResource Template.ItemContainer}"/>
</MultiDataTrigger>
</Style.Triggers>
</Style>
<DataTemplate x:Key="Template.InventorySlot" DataType="ls:VMInventorySlot">
<ContentPresenter x:Name="Presenter" Content="{Binding Object}" Style="{StaticResource SlotPresenterStyle}" />
</DataTemplate>

PlatformAny

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2023-10-10 11:16 LarianStudios New Issue
2023-10-10 12:06 sfernandez Assigned To => sfernandez
2023-10-10 12:06 sfernandez Status new => assigned
2023-10-10 12:06 sfernandez Product Version => 3.1.6
2023-10-10 12:06 sfernandez Target Version => 3.2
2023-10-10 19:16 jsantos Severity block => major
2025-04-09 14:59 jsantos Project NoesisGUI => Larian
2025-04-09 15:04 jsantos Project Larian => NoesisGUI