繁体   English   中英

XAML ListView:标头绑定不起作用

[英]XAML ListView: header binding not working

我无法在HeaderTemplate显示{Binding Title}

这是连接到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"/> ,则会显示该文本。

我发现了这个相关的问题 ,它与另一个问题相关 但是我无法使其工作。 我试过了:

<ContentPage.Resources>
    <Label x:Key="MyTitle"
            Binding="{Title}"/>
</ContentPage.Resources>

...

<Grid>
    <StaticResource ResourceKey="MyTitle"/>
</Grid>

这给我一个错误,说找不到与Title的绑定。

听起来您只需要做:

<ListView  Header="{Binding .}"
           ItemsSource="{Binding Sensors}">

也就是说,如果您的ContentPageBindingContext设置为SensorGroup类。

上面是告诉ListView.Header绑定到ContentPage.BindingContext设置为的内容。 这意味着ListView.HeaderTemplate控件还将使用ContentPage.BindingContext所设置的内容。

让我知道是否没有任何意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM