绑定到xaml uwp中的嵌套接口

时间:2018-06-07 22:20:11

标签: c# uwp-xaml

我有一个继承自另一个接口的接口。在我的代码中一切正常,我可以从两个界面看到一切。我试图将接口绑定到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 :(得分:0)

抱歉,误报...... 我所要做的就是清理和重建,Xaml编辑器开始看到所有继承的接口。它现在都在找工作了!