Привязка к вложенным интерфейсам в xaml uwp - PullRequest
0 голосов
/ 08 июня 2018

У меня есть интерфейс, который наследуется от другого интерфейса.В моем коде все работает нормально, я вижу все из обоих интерфейсов.Я пытаюсь привязать интерфейс к 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 вмой класс вместо того, чтобы вводить его в интерфейс ???

1 Ответ

0 голосов
/ 11 июня 2018

Извините, ложная тревога ... Все, что мне нужно было сделать, это очистить и восстановить, и редактор Xaml начал видеть все унаследованные интерфейсы.Это все работает найти сейчас!

...