У меня есть интерфейс, который наследуется от другого интерфейса.В моем коде все работает нормально, я вижу все из обоих интерфейсов.Я пытаюсь привязать интерфейс к xaml (потому что я внедряю его в мою ViewModel), но xaml видит только свойства верхнего интерфейса, а не интерфейс, от которого он наследует.
Вот краткий примериз того, что я делаю (имейте в виду, что это только тест, чтобы продемонстрировать мою проблему):
public interface IA
{
void MethodA();
private string _bindingPropA;
public string BindingPropA
{
get { return _bindingPropA; }
set { Set(ref _bindingPropA, value); }
}
}
public interface IB : IA
{
void MethodB();
private string _bindingPropB;
public string BindingPropB
{
get { return _bindingPropB; }
set { Set(ref _bindingPropB, value); }
}
}
public class TestService1 : IB
{
public void MethodA()
{
Console.WriteLine("Method A");
}
public void MethodB()
{
Console.WriteLine("Method B");
}
}
public class DPTest1
{
public IB Injection;
public DPTest1(IB injection)
{
Injection = injection;
}
}
И на самом деле тестирование
DPTest1 TestInjection1 = new DPTest1(new TestService1());
//Can see methods from both interfaces just fine
TestInjection1.Injection.MethodA();
TestInjection1.Injection.MethodB();
//but if i bind it to xaml it only sees the properties in interface "IB"!
Если я попытаюсьПривязать или x: Привязать его в xaml. Я вижу только «Метод B» в «Интерфейсе IB»
Правда ли, что xaml не может привязаться к вложенным интерфейсам, и мне придется кодировать TestService вмой класс вместо того, чтобы вводить его в интерфейс ???