我有使用 MVVM 的 Wpf 应用程序,代码如下所示:
XAML:
<StackPanel Orientation="Vertical">
<TextBox Text="{Binding DataFolder}" TextWrapping="Wrap"/>
<Button Content="Convert" Padding="8" Command="{Binding ConvertCommand}" IsEnabled="True" MinWidth="220"/>
<TextBlock Text="{Binding DoneMessage, UpdateSourceTrigger=PropertyChanged}"></TextBlock>
</StackPanel>
视图模型:
public class ConverterViewModel : NotificationObject
{
public string DataFolder { get; set; }
public string DoneMessage { get; set; }
public DelegateCommand ConvertCommand { get; set; }
private readonly List<BaseConverter> _converters = new List<BaseConverter>
{
new VisualCheckEventConverter()
};
public ConverterViewModel()
{
ConvertCommand = new DelegateCommand(VisualCheckEventConvertCommandExecute);
DataFolder = ConfigurationManager.AppSettings["InputFolder"];
DoneMessage = "Not done yet.";
}
private void VisualCheckEventConvertCommandExecute()
{
foreach (var c in _converters)
c.Convert(DataFolder);
DoneMessage = "Done!";
}
}
当我运行应用程序时,消息“尚未完成”。显示,但在执行命令后,文本块的文本不会更新为“完成!”。
如何让它发挥作用?