我有一个继承自另一个接口的接口。在我的代码中一切正常,我可以从两个界面看到一切。我试图将接口绑定到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编写到我的类中而不是将其注入接口?
答案 0 :(得分:0)
抱歉,误报...... 我所要做的就是清理和重建,Xaml编辑器开始看到所有继承的接口。它现在都在找工作了!