【发布时间】:2019-01-09 17:33:59
【问题描述】:
我有一个与一些自定义视图模型绑定的树视图。视图模型位于ObservableCollection 中并继承ViewModelBase,后者继承INotifyPropertyChanged。
它编译并运行良好,但在设计器中我得到了错误:
"DataTemplate.DataType 不能是类型对象
参数名称:值”
我的 XAML 是:
<TreeView Grid.Row="1" ItemsSource="{Binding ResultsTree}" SelectedItemChanged="TreeView_OnSelectedItemChanged">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:TreeViewItemViewModel}" ItemsSource="{Binding Path=Children}">
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsChecked}"/>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type local:CorrectionAndFreqViewModel}">
<StackPanel Orientation="Horizontal" ToolTip="{Binding AmbientText}">
<Rectangle Width="20" Height="5" Fill="{Binding LineColor, Converter={StaticResource ColorToSolidColorBrushValueConverter}}"></Rectangle>
<CheckBox IsChecked="{Binding IsChecked}"/>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</TreeView.Resources>
</TreeView>
属性窗口也显示它是一个对象,但我不知道为什么:
有什么想法吗?
【问题讨论】:
-
您找到解决方案了吗?我遇到了同样的问题并且很难过。它不会影响功能,但肯定会影响我的工作效率,因为我坐在这里试图弄清楚为什么我在成功构建时会出错。哈哈
-
@RickRiensche 不幸的是,我只是在处理无法正确使用设计器的问题:(
-
我已经在 Visual Studio 2019 社区版本 16.3.6 中运行了你的代码,它工作得很好......
-
Visual Studio 2019 社区版本 16.4.0 中似乎仍然存在此错误 :(
-
我没有遇到你在VS2019 WPF项目(.NET Framework)中提到的任何问题。你的WPF项目是.NET Core吗?