问题描述
我有一个下一个按钮,其中“ enable”属性由RelayCommand“ InvertirseguridadCommand”处理。问题是,即使我将canExecute设置为固定的“ true”,该按钮也始终处于禁用状态。这是按钮:
<Button VerticalAlignment="Center" HorizontalAlignment="Center"
Grid.Row="1" Grid.RowSpan="2"
Command="{Binding Puesto.InvertirseguridadCommand,Source={StaticResource viewmodelLocator}}"
CommandParameter="{Binding SalidaAsignada}">
<StackPanel>
<iconPacks:PackIconModern HorizontalAlignment="Center" Width="30" Height="30" Kind="Power" >
<iconPacks:PackIconModern.Style>
<Style targettype="iconPacks:PackIconModern">
<Setter Property="Foreground" Value="Green" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsReactorActivo}" Value="True">
<Setter Property="Foreground" Value="Green" />
</DataTrigger>
</Style.Triggers>
</Style>
</iconPacks:PackIconModern.Style>
</iconPacks:PackIconModern>
<Label HorizontalAlignment="Center">
<Label.Style>
<Style targettype="Label">
<Setter Property="Content" Value="Habilitar" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsReactorActivo}" Value="True">
<Setter Property="Content" Value="Deshabilitar" />
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
</StackPanel>
</Button>
这是中继命令:
public bool IsInvirtiendoSeguridad {
get => isInvirtiendoSeguridad;
set {
isInvirtiendoSeguridad = value;
RaisePropertyChanged("IsInvirtiendoSeguridad");
}
}
private RelayCommand<string> invertirseguridadCommand;
public RelayCommand<string> InvertirseguridadCommand
{
get
{
IsInvirtiendoSeguridad = false;
return invertirseguridadCommand
?? (invertirseguridadCommand = new RelayCommand<string>(
async obj =>
{
if (IsRefrescando)
return;
IsInvirtiendoSeguridad = true;
InvertirseguridadCommand.RaiseCanExecuteChanged();
await Invertirseguridad(Convert.ToInt32(obj));
IsInvirtiendoSeguridad = false;
InvertirseguridadCommand.RaiseCanExecuteChanged();
},obj => !IsInvirtiendoSeguridad));
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)