我无法显示{Binding Title}
中的HeaderTemplate
。
这是连接到BindingContext的类:
class SensorGroup
{
public string Title { get; set; }
public IList<Sensor> Sensors { get; set; }
}
XAML:
<ListView Header=""
ItemsSource="{Binding Sensors}">
<ListView.HeaderTemplate>
<DataTemplate>
<Grid>
<Label Text="{Binding Title}"/>
</Grid>
</DataTemplate>
</ListView.HeaderTemplate>
<ListView.ItemTemplate>
...
</ListView>
如果我将其替换为<Label Text="Some static text"/>
,则会显示文字。
我找到this related question,其链接到this other question。但我无法使其发挥作用。我试过了:
<ContentPage.Resources>
<Label x:Key="MyTitle"
Binding="{Title}"/>
</ContentPage.Resources>
...
<Grid>
<StaticResource ResourceKey="MyTitle"/>
</Grid>
它给出了一个错误,指出无法找到与Title
的绑定。
答案 0 :(得分:4)
听起来你只需要这样做:
<ListView Header="{Binding .}"
ItemsSource="{Binding Sensors}">
如果您的ContentPage
的{{1}}设置为BindingContext
类,那就是这样。
以上是告诉SensorGroup
绑定到ListView.Header
设置的内容。这意味着ContentPage.BindingContext
控件也将使用ListView.HeaderTemplate
设置的内容。
如果这没有任何意义,请告诉我。