Я считаю, что параметры команды WPF являются ограничением. Возможно, это признак того, что я использую их для неправильной цели, но я все еще пробую, прежде чем отказаться от другой тактики.
Я собрал систему для асинхронного выполнения команд , но сложно использовать все, что требует ввода данных. Я знаю один общий шаблон с командами WPF - это передача this
. Но this
не будет работать вообще для асинхронных команд, потому что все свойства зависимостей тогда недоступны.
Я получаю такой код:
<Button Command="{Binding ElementName=servicePage, Path=InstallServiceCommand}">
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource InstallServiceParameterConverter}">
<MultiBinding.Bindings>
<Binding ElementName="servicePage" Path="IsInstalled"/>
<Binding ElementName="localURI" Path="Text"/>
<Binding ElementName="meshURI" Path="Text"/>
<Binding ElementName="registerWithMesh" Path="IsChecked"/>
</MultiBinding.Bindings>
</MultiBinding>
</Button.CommandParameter>
</Button>
, а также нужен класс InstallServiceParametersConverter (плюс InstallServiceParameters).
Кто-нибудь видит очевидный способ улучшить это?