私は単純な WPF アプリケーションを持っています。コード ビハインドには、このような InputFile プロパティがあります。
public string InputFile
{
get
{
return _inputFile;
}
set
{
_inputFile = value;
OnPropertyChanged("InputFile");
}
}
XAML 内には、次のような StackPanel があります。
<StackPanel Orientation="Horizontal" DataContext="{Binding Path=InputFile}">
<StackPanel.CommandBindings>
<CommandBinding Command="Open"
CanExecute="OpenCanExecute"
Executed="OpenExecuted" />
<CommandBinding Command="Select"
CanExecute="SelectCanExecute"
Executed="SelectExecuted" />
</StackPanel.CommandBindings>
<TextBox Text="{Binding Path=.}"></TextBox>
<Button Command="Select">...</Button>
<Button Command="Open">-></Button>
</StackPanel>
コマンド関数がそれにアクセスできるようにするには、stackpanel の datacontext を InputFile にリンクしたままにしておく必要があります。
問題: InputFile が変更されると、TextBox が更新されますが、Textbox に新しい値を入力しても、プロパティ InputFile は更新されません (setter メソッドは呼び出されません)。何か案が?