私の 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}"/>