我有两个User Control's
坐在 main UserCotrol
。
只有其中一个应该是主要的。
当您更改 中的某些属性时ViewModel
,我会像这样更改它们:
<UserControl>
<ContentControl>
<ContentControl.Style>
<Style TargetType="{x:Type ContentControl}">
<Setter Property="Content">
<Setter.Value>
<local:UserControl1/>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding IsTwo}" Value="True">
<Setter Property="Content">
<Setter.Value>
<local:UserControl2/>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
</UserControl>
当我将属性更改为时,False
它UserControl1
没有问题,但是当我将其更改True
为时,显示出现问题,并且仅当我在适合的屏幕之间移动时,作为临时解决方案,我每次 UserControl 应该创建事件从 1 更改为 2 。当该事件运行时,我删除主UserControl
并再次创建它。
但是我的问题是为什么当我更改为一个时我不需要重新创建,而当我更改为两个时我可能需要?
不要给我任何解决这个问题的想法(我自己做过),我想解释为什么会这样,这是我感兴趣的。