我必须完成以下任务,根本不知道该怎么做。
我正在使用WizardControl(XCeed Wpf工具包),并且希望根据ViewModel中的某个状态(例如bool变量)跳过一页。 为此,我必须根据此bool变量将另一个控件(一个WizardPage)绑定到前一个WizardPage的NextPage DependencyProperty。我认为可以使用DataTrigger以某种方式完成此操作,但是我对此主题并不那么有经验。有人可以帮我吗?
最小代码示例:
<xctk:Wizard>
<xctkWizardPage x:Name="Page1" NextPage="Page2"/>
<xctkWizardPage x:Name="Page2"/>
<xctkWizardPage x:Name="Page3"/>
</xctkWizardPage>
</xctk:Wizard>
public bool Property { get; set; }
我想做的是使“ Page1”的“ NextPage”依赖于“ Property”,例如如果Property == true,则将“ Page2”作为NextPage,否则转到“ Page3”。
非常感谢您的帮助!
Jan
答案 0 :(得分:0)
也许像这样:
<Style TargetType="xctWizardPage">
<Style.Triggers>
<DataTrigger Property="YourProperty" Value="True">
<Setter Property="NextPage" Value="Page2" />
</DataTrigger>
<DataTrigger Property="YourProperty" Value="False">
<Setter Property="NextPage" Value="Page3" />
</DataTrigger>
</Style.Triggers>
</Style>
尝试这样的事情。
答案 1 :(得分:0)
此解决方案对我有用:
<xctk:Wizard>
<xctk:WizardPage x:Name="Page1">
<Style TargetType="xctk:WizardPage">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Property}" Value="True">
<Setter Property="NextPage" Value="{Binding ElementName=Page2}" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=Property}" Value="False">
<Setter Property="NextPage" Value="{Binding ElementName=Page3}" />
</DataTrigger>
</Style.Triggers>
</Style>
</xctk:WizardPage>
<xctk:WizardPage x:Name="Page2"/>
<xctk:WizardPage x:Name="Page3"/>
</xctk:Wizard>
感谢所有回复。