我有两个用户控件需要根据数据库中的属性动态加载。
我正在修改现有的XAML
页面。该页面包含以下行
<wcontrols:page1 x:Name="page1" Width="674" Height="372.215"Canvas.Left="57" Canvas. Top="215.785" Loaded="page1_Loaded_1" />
我想动态地在page1和page2之间切换。我是否需要将代码移动到代码隐藏文件中,或者在XAML
文件中是否有任何方法可以执行此操作?
答案 0 :(得分:3)
为控件定义一个样式,并在其中添加一个DataTrigger,用于在更改viewmodel的属性时设置第2页
<ContentControl>
<ContentControl.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=property}" Value="page1">
<Setter Property="ContentControl.Content" Value="{StaticResource page1}"/>
</DataTrigger>
<DataTrigger Biniding="{Binding Path=property}" Value="page2">
<Setter Property="ContentControl.Content" Value="{StaticResource page2}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>