// Init model with custom `GObject` properties
let model = ListStore::new::<Item>();
// Setup item factory to append items after `DropDown` init
let factory = SignalListItemFactory::new();
factory.connect_bind(move |_, gobject| {
// Cast components
let list_item = gobject.downcast_ref::<ListItem>().unwrap();
let item = list_item.item().and_downcast::<Item>().unwrap();
// Update item with new gtk::Label (or update existing one)
list_item.set_child(Some(&Label::new(Some(&item.some_property()))));
});
// Init dropdown `GObject`
let dropdown = DropDown::builder().model(&model).factory(&factory).build();