Quando si utilizza x: Bind in un'applicazione UWP XAML considerare quanto segue:UWP XAML x: interfacce Bind ereditato non sono riconosciuti
interface IBaseInterface
{
string A { get; set; }
}
interface ISubInterface : IBaseInterface
{
string B { get; set; }
}
class ImplementationClass : ISubInterface
{
public string A { get; set; }
public string B { get; set; }
}
Nella classe pagina abbiamo la seguente:
public partial class MainPage : Page
{
public ISubClass TheObject = new ImplementationClass { A = "1", B = "2" };
//All the rest goes here
}
nel MainPage XAML abbiamo il seguente frammento:
<TextBlock Text={x:Bind Path=TheObject.A}></TextBlock>
che causa il seguente errore del compilatore: XamlCompiler errore WMC1110: binding non valido percorso 'A': proprietà 'A' non può essere trovato sul tipo 'ISubInterface'
Il seguente funziona comunque:
<TextBlock Text={x:Bind Path=TheObject.B}></TextBlock>
Qualcuno sa se si tratta di un limiti noti della piattaforma XAML UWP che le proprietà dell'interfaccia ereditate non sono riconosciute dal compilatore? O dovrebbe essere considerato un bug? Esistono soluzioni alternative note?
L'aiuto è molto apprezzato. Grazie in anticipo!
Puoi provare a definire 'TheObject' come' IBaseInterface' piuttosto che 'ISubInterface' e vedere se il compilatore poi accetta' TheObject.A'? – dognose