c# - XAML GridViewColumn DisplayMemberBinding 似乎不起作用
问题描述
我正在尝试使用数据绑定创建一个两列 ListView。XAML 如下所示:
<ListView x:Name="BookingVariantsListView" ItemsSource="{Binding BookingVariants}" SelectionChanged="BookingVariantsListView_SelectionChanged" DockPanel.Dock="Top" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Top">
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridView.Columns>
<GridViewColumn Header="{x:Static loc:Settings.VariantTitle}" DisplayMemberBinding="{Binding Title}" Width="320" />
<GridViewColumn Header="{x:Static loc:Settings.VariantLink}" DisplayMemberBinding="{Binding BookingVariantURL}" Width="315" />
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
和这样的模型:
public class BookingVariant
{
[JsonProperty("title")]
public string Title { get; set; }
[JsonProperty("booking_variant_url")]
public string BookingVariantURL { get; set; }
}
它保存在一个列表中:
public ObservableCollection<BookingVariant> BookingVariants { get; private set; }
现在列表绑定似乎起作用了,因为它填充了正确的行数。但列未填充。相反,每一行只显示一次类的名称。这些列看起来完全被忽略了。
有人有想法吗?谢谢!
编辑:
解决方案
我发现了我的错误:
在我的窗口顶部,我正在导入另一个 XAML 文件,其中包含该窗口中其他控件的样式信息(以及列表视图)。删除文件时,Gridview 绑定按预期工作。所以我自己的风格会覆盖行为。我现在将为所有样式分配键,这样它们就不会被自动使用。
推荐阅读
- phpstorm - PhpStorm - 通过项目搜索可翻译的字符串
- python - 使用python检查来自JSON的URL的网络响应
- visual-studio - 如何在 Visual Studio 的 VsVIM 中将 ESC 键重新映射到 CAPS LOCK
- python - 如何通过python应用为列中的每个值分配不同的颜色
- azure - 如何修复 AKS for Apache Ignite 上的 CrashBackLoopOff 问题?
- javascript - 查找纯文本中的链接并将其转换为超链接
- python - 如何从视频中提取特征并将特征存储到单个 H5 文件中
- rest - 如何在通过surgemail调用rest api时删除.htaccess身份验证
- python - 在测试功能中使用夹具
- javascript - 如果行数大于 x,Github 会阻止提交更改