Ciao, lasciatemi dire che senza intellisense è dura con la markup extension
Ok mi sono sfogato. Ho un problema, ho un controllo la cui proprietà ItemSource punta ad una mia proprietà di tipo ObservableCollection<MioTipo>(). Questo nella speranza che le item del controllo a livello UI riflettino il contenuto della collezione. Purtroppo però questo non succede, o meglio, al loaded della window faccio delle operazioni per riempire la collezione ma purtroppo il controllo (custom control derivato da TabControl) se ne frega non aggiungendomi items. Allora ho provato a riempire la collezione prima dell'InitializeComponent() nel costruttore della window ed il tutto funziona.. Ovviamente funziona anche la ObservableCollection<T> perchè ho provato ad aggiungere e rimuovere items a runtime e il controllo riflette perfettamente il contenuto della collection. Ora mi chiedo.. come mai succede sta cosa? Nell'evento loaded della window il controllo custom dovrebbe essere stato caricato e quindi anche l'espressione di binding dovrebbe incominciare a lavorare intercettando il fatto che la collezione viene modificata.. uhm...
Vabbè.. la mia espressione di binding:
codice:
ItemsSource="{Binding Path=Views, ElementName=MiaWindow, Mode=OneWay}"
La mia proprietà:
codice:
private ObservableCollection<MioTipo> views = null;
public ObservableCollection<MioTipo> Views
{
get { return views; }
set { views = value; }
}
di cui ne creo una istanza nel costruttore:
codice:
public MainUI()
{
InitializeComponent();
Views = new ObservableCollection<MioTipo>();
}
Ciao