繁体   English   中英

Content Control + DataTemplate动态更改UserControl DevExpress wpf

[英]Content Control + DataTemplate dynamically changing UserControl DevExpress wpf

我想将用户控件动态地加载到内容控件中,所以我使用了基于DataTemplate更改用户控件的“旧方法”。

但是,在设置ViewModel属性(即绑定到ContentControl内容属性)后,ContentControl将显示包含相应视图模型名称的“文本”,而不是加载相应的Usercontrol。

Window的资源

 <dxr:DXRibbonWindow.Resources>
    <DataTemplate x:Key="TYRVM"  DataType="{x:Type VM:ProductTYRViewModel}">
        <views:TYRUserControl/>
    </DataTemplate>
    <DataTemplate x:Key="THORVM" DataType="{x:Type VM:ProductTHORViewModel}">
        <views:THORUserControl/>
    </DataTemplate>
 <dxr:DXRibbonWindow.Resources>

窗口代码

  <ContentControl Name="content" Content="{Binding Path=VMs,Mode=TwoWay}"/>

现在我不知道到底是什么问题!

您已经在DataTemplate上指定了一个Key ,因此不会基于Type自动应用DataTemplate

来自MSDN:

此属性与Style类的TargetType属性非常相似。 当您将此属性设置为数据类型而不指定x:Key时,DataTemplate会自动应用于该类型的数据对象。 请注意,这样做时会隐式设置x:Key。 因此, 如果为该DataTemplate分配一个x:Key值,则将覆盖隐式x:Key,并且该DataTemplate不会自动应用。

链接到MSDN:DataTemplate.DataType

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM