Avalon Wizardコントロールを使用しています。ページがたくさんありますが、問題が発生しているのは2つだけなので、含まれているのは2つだけです。
<Grid Name="MainGrid">
<w:Wizard Name="MyWizard"
w:Designer.PageIndex="0"
DataContext="{Binding ElementName=MainGrid, Path=DataContext.Policy}">
<w:WizardPage Header="Main Member"
MaxHeight="600"
AllowNext="{Binding ElementName=MainGrid, Path=DataContext.CanContinue}"
Name="MainPage">
<w:WizardPage Name="DeductionPage"
Header="Policy Details"
AllowNext="{Binding ElementName=MainGrid, Path=DataContext.CanContinue}">
この問題では、メインページの[次へを許可]は完全に機能していますが、CanContinueプロパティがfalseに設定されていても、[控除]ページでは[次へ]ボタンを常に使用できます。
CanContinue
2番目のページがロードされたときにのみfalseに設定されることに注意してください。
private bool canContinue;
public bool CanContinue
{
get { return canContinue; }
set
{
canContinue = value;
NotifyPropertyChanged("CanContinue");
}
}
-
アップデート
出力ウィンドウを調べたところ、次の例外が見つかりました。
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=MainGrid'. BindingExpression:Path=DataContext.CanContinue; DataItem=null; target element is 'WizardPage' (Name='DeductionPage'); target property is 'AllowNext' (type 'Boolean')
これは私の問題があるページで発生していますが、なぜ2ページ目だけで問題になるのでしょうか。1ページ目と2ページ目はまったく同じものにバインドされ、最初のページは完全に機能します。
問題は最初のページを除くすべてのページにあり、すべてが同じレベルの同じウィザードの子です。
助言がありますか?