Podczas korzystania X: Bind w aplikacji UWP XAML rozważyć następujące:UWP XAML X: Bind dziedziczone interfejsy nie są rozpoznawane
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; }
}
w klasie strony mamy następujący:
public partial class MainPage : Page
{
public ISubClass TheObject = new ImplementationClass { A = "1", B = "2" };
//All the rest goes here
}
w mainpage XAML mamy następujący fragment:
<TextBlock Text={x:Bind Path=TheObject.A}></TextBlock>
co powoduje następujący błąd kompilatora: XamlCompiler błąd WMC1110: Nieprawidłowy wiązania ścieżki „A”: właściwość „A” nie można znaleźć w rodzaju „ISubInterface”
Poniższa praca ma jednak:
<TextBlock Text={x:Bind Path=TheObject.B}></TextBlock>
Czy ktoś wie, czy jest to znane ograniczenia platformy UWAM XAML, która odziedziczyła właściwości interfejsu, nie są rozpoznawane przez kompilator? Czy powinien to być uważany za błąd? Czy są znane sposoby obejścia tego problemu?
Pomoc jest bardzo doceniana. Z góry dziękuję!
można próbować określić jako '' TheObject' IBaseInterface' zamiast 'ISubInterface' i zobaczyć, czy to kompilator akceptuje' TheObject.A'? – dognose