Итак, я делаю приложение в Xamarin Forms, используя Fre sh MVVM, и хочу, чтобы событие выполнялось при нажатии кнопки, и только если BackgroundColor кнопки белый. BackgroundColor кнопки изменится в XAML.CS, в то время как это событие произойдет в ViewModel.
Проблема в том, что с текущим кодом, который у меня есть, свойство моего ViewModel имеет все основные цвета и свойства установите 0 вместо фактических свойств цвета кнопки. Я уже искал ответ, но мне ничего не помогло.
Вот код XAML:
<Button
x:Name="Button_NextStep"
HeightRequest="50"
WidthRequest="400"
BackgroundColor="{Binding NextStepBackgroundColor}"
CornerRadius="30"
Text="Next step"
TextColor="#4847FF"
FontAttributes="Bold"
FontSize="20"
VerticalOptions="Start"
HorizontalOptions="Start"
Margin="25,178,25,5"
Command="{Binding NextStep}"
></Button>
Код ViewModel:
class CreateAccount_UsernameViewModel: FreshBasePageModel
{
public ICommand NextStep { get; set; }
public Color NextStepBackgroundColor { get; set; }
public InavigationService navigationService; //this is irrelevant for this question
public CreateAccount_UsernameViewModel(InavigationService _navService)
{
navigationService = _navService; //this is irrelevant for this question
NextStep = new Command(() =>
{
if (NextStepBackgroundColor == Color.FromHex("#FFD3D3D3"))
navigationService.SwitchNavigationStacks(Enums.NavigationStacks.CreateAccount, this); //this is irrelevant for this question
});
}
}
И это все Если вам нужна дополнительная информация, чтобы облегчить решение, я предоставлю ее вам, как только увижу ваш запрос. Спасибо всем за потраченное время, надеюсь, вам удачного дня.