c# - 未应用数据模板

标签 c# wpf xaml mvvm datatemplate

我有一个窗口,我想在其中显示基于数据模板的动态内容。

XAML 大致如下所示:

<Window x:Class="Report.ControlLibrary.ReportHost"
         xmlns:reports="clr-namespace:Report.ControlLibrary.Reports"
\>
<Window.Resources>
    <DataTemplate x:Key="ReportTemplate" DataType="{x:Type reports:ReportViewModel}">
        <!-- Markup for DataTemplate goes here -->         
    </DataTemplate>
</Window.Resources>   
<ContentControl Content="{Binding}">

</ContentControl>
</Window>

DataContext 由以下人员设置:

var vm = new ReportViewModel();
var report = new ReportHost() { DataContext=vm };          
report.Show();

似乎 Window 上的 DataContext 设置正确,但找不到 DataTemplate,因为窗口只包含我的 ViewModel 的 ToString 表示形式。

最佳答案

您是否有机会在数据模板中定义 x:Key。如果是这样,将导致内容呈现器不使用数据模板。这是我最近遇到的一个问题。

关于c# - 未应用数据模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16658514/

相关文章:

c# - 以编程方式将 TextBlock 添加到 DataTemplate

c# - 如何更改 WPF 中不确定进度条动画的速度和宽度?

c# - Caliburn.Micro ItemsSource 未绑定(bind)到当前 View 模型,而是绑定(bind)到父级

c# - WPF:将 ContextMenu 绑定(bind)到 MVVM 命令

c# - 我是否需要在每个窗口中配置 Log4Net,还是有办法在基类中配置一次?

c# - 更新后 ServiceBusTrigger 不工作

c# - 为什么这个 .dll 在 ILSpy 中有奇怪的字母?

c# - 是否可以在 C# 中观察 Rss 提要的变化?

wpf - 我们可以将动态数据(数据集或列表)绑定(bind)到WPF中的控件吗

c# - DynamicActivity - 如何调用存储在数据库中的工作流?