GtkColumnView with GtkBuilderListItemFactory not binding when Gtk.TreeListModel is used and the first child is not the GtkTreeExpander in ui xml
Steps to reproduce
Python example below to reproduce. This code leveraged the gtk-demo for listview_settings. I assume the C works but it fails in Python.
Current behavior
When executing the code, any GObject property will bind but only when GtkTreeExpander is introduced as the first child under the GtkListItem template (builder ui xml). If GtkTreeExpander is not introduced, the item for the GtkColumnViewColumn is not binding. Therefore, anything beyond a single column will not have information from the ListStore presented. The view is presented with multiple columns, however only the column that uses the GtkTreeExpander has data bound to the widget.
Expected outcome
When using the Builder UI xml, the data from each row of the GIO.ListStore should bind to the specified property of the custom GObject without the need for an intermediary such as GtkTreeExpander as shown in the gtk-demo for listview_settings (linked above).
Version information
GTK 4.0
Ubuntu 22.04
Additional information
Below is the prototype to demonstrate the problem. It will produce a simple window with 2 columns (Account Name and Favorite). Column 1 will have the GtkTreeExpander and data showing a proper binding with the custom GObject. Column 2 will be blank except for the header.
The Discourse thread is found here with more context and things tried along with observations.
Attachments: File layout.ui: The Builder UI xml with embedded templates
File main.py: The full code to execute the example
Screen print showing the results: