gpt4 book ai didi

wpf - 为什么我输入的数据模板没有被应用?

转载 作者:行者123 更新时间:2023-12-04 00:08:25 25 4
gpt4 key购买 nike

我正在使用 Linq To Sql 用 Segment 对象填充列表框,其中 Segment 是设计器创建/ORM 生成的类。

<Window x:Class="ICTemplates.Window1"
...
xmlns:local="clr-namespace:ICTemplates"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<DataTemplate x:Key="MyTemplate">
<!-- <DataTemplate DataType="x:Type local:Segment"> -->
// some stuff in here
</DataTemplate>
</Window.Resources>
<ListView x:Name="tvwSegments" ItemsSource="{Binding}" ItemTemplate="{StaticResource MyTemplate}" MaxHeight="200"/>


// code-behind
var queryResults = from segment in tblSegments
where segment.id <= iTemplateSid
select segment;
tvwSegments.DataContext = queryResults;

这有效。

但是,如果我使用类型化数据模板(通过将 x:Key 替换为模板上的 DataType 属性,则所有项目都显示为 ICTemplates.Segment(ToString() 返回值)
这个概念是,如果类型匹配,它应该自动选择数据模板。有人可以在这里发现错误吗?

最佳答案

泽错误在这里

<DataTemplate DataType="x:Type local:Segment">  <!-- doesn't work -->

应该是
<DataTemplate DataType="{x:Type local:Segment}">

回家……制作了一个玩具 sample ,它适用于这种变化。明天一定要试试@工作。 Sheesh .. 因为想要 2 个卷发..

更新 : 发现另一个问题
<DataTemplate x:Key="SegTemplate" DataType="{x:Type local:Segment}">  <!-- doesn't work -->

不会工作。似乎您可以使用 Key 获得它或 数据类型属性。为了使这个类型化的数据模板工作......必须删除 Key 属性,现在它可以按预期工作。 HierarchicalDataTemplate 的行为也是一致的。
<DataTemplate DataType="{x:Type local:Segment}">

关于wpf - 为什么我输入的数据模板没有被应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/370839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com