При использовании х: Bind в приложении UWP XAML рассмотрим следующее:UWP XAML х: Bind унаследовали интерфейсы не распознаются
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; }
}
В классе Page мы имеем следующее:
public partial class MainPage : Page
{
public ISubClass TheObject = new ImplementationClass { A = "1", B = "2" };
//All the rest goes here
}
В MainPage XAML мы имеем следующий фрагмент кода:
<TextBlock Text={x:Bind Path=TheObject.A}></TextBlock>
Что вызывает следующую ошибку компилятора: XamlCompiler ошибка WMC1110: Invalid привязки путь 'A': Свойство 'A' не может быть найден по типу '' ISubInterface
Следующая делает работу, однако:
<TextBlock Text={x:Bind Path=TheObject.B}></TextBlock>
Кто-нибудь знает, если это известное ограничение платформы UWP XAML, которое унаследовало свойства интерфейса, не распознается компилятором? Или это должно считаться ошибкой? Есть ли какие-нибудь известные способы обхода?
справка приветствуется. Спасибо заранее!
Вы можете попытаться определить 'TheObject' как' IBaseInterface', а не 'ISubInterface' и посмотреть, если компилятор затем принимает' TheObject.A'? – dognose