{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
的绑定(bind)。 最佳答案
听起来你喜欢只需要做:
<ListView Header="{Binding .}"
ItemsSource="{Binding Sensors}">
也就是说,如果您的
ContentPage
的 BindingContext
设置为 SensorGroup
类。以上是告诉
ListView.Header
绑定(bind)到 ContentPage.BindingContext
设置的任何内容。这意味着 ListView.HeaderTemplate
控件也将使用 ContentPage.BindingContext
设置的内容。如果这没有任何意义,请告诉我。
关于c# - XAML ListView : header binding not working,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38086776/