在我的 ViewModel 中,我有以下方法:
public async Task<Boolean> DoSomething(Button sender)
{
Binding binding = sender.GetBindingExpression(Button.IsEnabledProperty).ParentBinding;
sender.IsEnabled = false;
DoFastStuffs();
await Task.Delay(250);
sender.SetBinding(Button.IsEnabledProperty, binding);
return true;
}
有一个更好的方法吗?因为我注意到手动设置属性而不将绑定保存在某处会永远从 XAML 对象中删除实际绑定。
编辑:这是我的按钮:
<Button IsEnabled="{Binding Converter={StaticResource ObjectToBooleanConverter}, ElementName=ComboBox, Path=SelectedItem}"/>