Next/Previous 按钮的 WPFToolkit 向导绑定命令。 (MVVM)
WPFToolkit Wizard binding Commands for the Next/Previous buttons. (MVVM)
我正在尝试在使用 MVVM 设计模型的应用程序中使用 WPFToolkit.Wizard。
现在我无法将 RelayCommand(继承自 ICommand)绑定到 Next/Previous/Finish 按钮。
我看到向导引发了事件,但这会打破范式。
命令定义:
public ICommand NextStage
{
get
{
return _NextStage ?? (
_NextStage = new RelayCommand(param => PrepNextStep(),
param => Page((PageIndexes)CurrentStage).IsDirty
));
} // get
} // public ICommand NextStage
XAML是:
<xctk:Wizard x:Name="wizMain"
Grid.Row="1"
FinishButtonClosesWindow="True"
ItemsSource="{Binding wizardPages}"
Background="White"
ExteriorPanelMinWidth="100"
HelpButtonVisibility="Hidden"
Next="{Binding Path=NextStage}"
>
</xctk:Wizard>
运行时抛出的错误是:
'Provide value on 'System.Windows.Data.Binding' threw an exception.' Line number '33' and line position '25'.
如有任何帮助,我们将不胜感激。
TIA,
雷
Next
是事件而不是依赖项 属性,您可以绑定到 ICommand
源 属性.
您可以做的是添加对 System.Windows.Interactivity.dll 的引用,并在向导引发事件时使用交互触发器调用您的命令:
<xctk:Wizard ... xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Next">
<i:InvokeCommandAction Command="{Binding NextStage}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</xctk:Wizard>
我正在尝试在使用 MVVM 设计模型的应用程序中使用 WPFToolkit.Wizard。
现在我无法将 RelayCommand(继承自 ICommand)绑定到 Next/Previous/Finish 按钮。
我看到向导引发了事件,但这会打破范式。
命令定义:
public ICommand NextStage
{
get
{
return _NextStage ?? (
_NextStage = new RelayCommand(param => PrepNextStep(),
param => Page((PageIndexes)CurrentStage).IsDirty
));
} // get
} // public ICommand NextStage
XAML是:
<xctk:Wizard x:Name="wizMain"
Grid.Row="1"
FinishButtonClosesWindow="True"
ItemsSource="{Binding wizardPages}"
Background="White"
ExteriorPanelMinWidth="100"
HelpButtonVisibility="Hidden"
Next="{Binding Path=NextStage}"
>
</xctk:Wizard>
运行时抛出的错误是:
'Provide value on 'System.Windows.Data.Binding' threw an exception.' Line number '33' and line position '25'.
如有任何帮助,我们将不胜感激。
TIA, 雷
Next
是事件而不是依赖项 属性,您可以绑定到 ICommand
源 属性.
您可以做的是添加对 System.Windows.Interactivity.dll 的引用,并在向导引发事件时使用交互触发器调用您的命令:
<xctk:Wizard ... xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Next">
<i:InvokeCommandAction Command="{Binding NextStage}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</xctk:Wizard>