我在解决这个问题时遇到了问题。
<ResourceDictionary>
<ViewCell x:Key="Separator">
<Label Text="{Binding Title}" />
</ViewCell>
</ResourceDictionary>
类Option包含一个名为Title的属性,该属性设置为任何文本。但是,以下代码无效。标签中不显示任何文字。文字只保留&#34; null&#34;。我做错了什么 - 我怎样才能正确设置Binding?
if (Resources.ContainsKey("Separator"))
{
var cell = Resources["Separator"] as Cell;
if (cell != null)
{
cell.BindingContext = option;
section.Add(cell);
}
}
答案 0 :(得分:8)
ResourceDictionary
中的对象只创建一次,并且每次使用它们时都会共享它们的实例。由于ViewCell
和Binding
无法重复使用,因此不太可行。
在ResourceDictionary
中定义的内容是包含DataTemplate
的{{1}},在这种情况下,它可以作为{{1}共享将为每次使用重新创建内容。