ListView 组 Header 无法解析绑定 属性
ListView Group Header Can't resolve binding property
我正在尝试在列表视图中对我的项目进行分组。我想按 "EventId" 属性 对它们进行分组,并将 EventId 显示为 header 文本。分组工作完美,我的项目已分组,但问题是,所有组的 header 文本都是空的。
这是我的 xaml:
<ListView
ItemsSource="{Binding CardEvents}"
MinHeight="120"
MaxHeight="120"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Auto"
Name="CardEventsListView">
<ListView.View>
<GridView>
<GridViewColumn Header="Kart Türü" DisplayMemberBinding="{Binding CardType}" Width="{Binding ActualWidth, ElementName=cardEvent_headerA}"/>
<GridViewColumn Header="Oluşturma Tarihi" DisplayMemberBinding="{Binding EventDateTime, Converter={StaticResource dateTimeConverter}}" Width="{Binding ActualWidth, ElementName=cardEvent_headerB}"/>
<GridViewColumn Header="Event Id" DisplayMemberBinding="{Binding EventId}" Width="{Binding ActualWidth, ElementName=cardEvent_headerC}"/>
<GridViewColumn Header="Dakika" DisplayMemberBinding="{Binding Minute}" Width="{Binding ActualWidth, ElementName=cardEvent_headerD}"/>
<GridViewColumn Header="İşlem Dk" DisplayMemberBinding="{Binding RelativeMinute, Converter={StaticResource ResourceKey=timeSpanConverter}}" Width="{Binding ActualWidth, ElementName=cardEvent_headerE}"/>
<GridViewColumn Header="Op." DisplayMemberBinding="{Binding UserName}" Width="{Binding ActualWidth, ElementName=cardEvent_headerF}"/>
</GridView>
</ListView.View>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock FontSize="14" FontWeight="Bold" Text="{Binding EventId}" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
在我的文本块中,我在进行绑定时收到警告
Cannot resolve symbol 'EventId'
我不知道为什么我无法访问 EventId 属性 而我可以在 GridViewColumn 中访问它。
您不能将 ItemSource 的 EventId
绑定到您组的 DataTemplate,而是尝试使用 Name
之类的
<DataTemplate>
<TextBlock FontSize="14" FontWeight="Bold" Text="{Binding Name}" />
</DataTemplate>
这里 Name
是组的名称,由 WPF 指定,而不是来自 DataModel。
参考 - http://www.wpf-tutorial.com/listview-control/listview-grouping/
我正在尝试在列表视图中对我的项目进行分组。我想按 "EventId" 属性 对它们进行分组,并将 EventId 显示为 header 文本。分组工作完美,我的项目已分组,但问题是,所有组的 header 文本都是空的。
这是我的 xaml:
<ListView
ItemsSource="{Binding CardEvents}"
MinHeight="120"
MaxHeight="120"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Auto"
Name="CardEventsListView">
<ListView.View>
<GridView>
<GridViewColumn Header="Kart Türü" DisplayMemberBinding="{Binding CardType}" Width="{Binding ActualWidth, ElementName=cardEvent_headerA}"/>
<GridViewColumn Header="Oluşturma Tarihi" DisplayMemberBinding="{Binding EventDateTime, Converter={StaticResource dateTimeConverter}}" Width="{Binding ActualWidth, ElementName=cardEvent_headerB}"/>
<GridViewColumn Header="Event Id" DisplayMemberBinding="{Binding EventId}" Width="{Binding ActualWidth, ElementName=cardEvent_headerC}"/>
<GridViewColumn Header="Dakika" DisplayMemberBinding="{Binding Minute}" Width="{Binding ActualWidth, ElementName=cardEvent_headerD}"/>
<GridViewColumn Header="İşlem Dk" DisplayMemberBinding="{Binding RelativeMinute, Converter={StaticResource ResourceKey=timeSpanConverter}}" Width="{Binding ActualWidth, ElementName=cardEvent_headerE}"/>
<GridViewColumn Header="Op." DisplayMemberBinding="{Binding UserName}" Width="{Binding ActualWidth, ElementName=cardEvent_headerF}"/>
</GridView>
</ListView.View>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock FontSize="14" FontWeight="Bold" Text="{Binding EventId}" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
在我的文本块中,我在进行绑定时收到警告
Cannot resolve symbol 'EventId'
我不知道为什么我无法访问 EventId 属性 而我可以在 GridViewColumn 中访问它。
您不能将 ItemSource 的 EventId
绑定到您组的 DataTemplate,而是尝试使用 Name
之类的
<DataTemplate>
<TextBlock FontSize="14" FontWeight="Bold" Text="{Binding Name}" />
</DataTemplate>
这里 Name
是组的名称,由 WPF 指定,而不是来自 DataModel。
参考 - http://www.wpf-tutorial.com/listview-control/listview-grouping/