我为 monodroid 创建了一个自定义控件。按照教程N-20 CustomControl和这个MvxListView因为我的控件绑定了一个 IEnumerable。我的控件继承到 FrameLayout,然后我无权从父类访问适配器属性。
当我分配 List 绑定属性并调用 RaisePropertyChanged 事件时。不起来。我怎样才能做到这一点?
提前致谢。
编辑以显示代码
说话很便宜,我显示代码。
这是自定义控件的标题和绑定列表。
public class DrawingBoardControl : View
{
private DrawingItems m_drawingItems;
[MvxSetToNullAfterBinding]
public DrawingItems CanvasItems
{
get
{
return m_drawingItems;
}
set
{
m_drawingItems = value;
this.Update();
}
}
...
我使用一个名为“DrawingItems”的类,有
public class DrawingItems : IEnumerable<IDrawingElement>
{
private List<IDrawingElement> myDrawingItems = new List<IDrawingElement>();
public IEnumerator<IDrawingElement> GetEnumerator()
{
return myDrawingItems.GetEnumerator();
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
public void Add(IDrawingElement element)
{
myDrawingItems.Add(element);
}
}
但是,在其他自定义控件中,我使用了 IEnumerable 和通用列表,并且问题仍然存在。
当我在 ViewModel 中使用 RaisePropertyChanged 时,Items 属性不会引发。
抱歉昨天没有提供更多信息