Имея этот код:
<Button Text = "CLICK ME"
TextColor = "White"
TextTransform = "Uppercase"
FontAttributes = "Bold"
BackgroundColor = "#58cc02"
WidthRequest = "120"
HeightRequest = "50"
CornerRadius = "15">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name = "CommonStates">
<VisualState x:Name = "Normal">
<VisualState.Setters>
<Setter Property = "Shadow">
<Setter.Value>
<Shadow Brush = "#58a700"
Offset = "0,5"
Radius = "1" />
</Setter.Value>
</Setter>
</VisualState.Setters>
</VisualState>
<VisualState x:Name = "Pressed">
<VisualState.Setters>
<Setter Property = "Shadow">
<Setter.Value>
<Shadow Opacity = "0" />
</Setter.Value>
</Setter>
<Setter Property = "TranslationY"
Value = "5" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Button>
Ожидаемое поведение заключается в том, что в нормальном состоянии под кнопкой будет тень, при нажатии кнопки тень исчезнет, а кнопка переместится вниз.
Я пробую это в Windows, и тень не отображается в обоих состояниях, а также, когда я отпускаю кнопку, она все еще перемещается вниз.
Возможно, это связано github.com/dotnet/maui/issues/19560
@StephenQuan Да, не работает.
@Cfun Это не только теневая проблема, TranslationY не меняется.
Проблема заключается в настройках стилей по умолчанию, которые автоматически создаются вместе с проектом с путем: Resources\Styles\Styles.xaml.
Удаление этих стилей по умолчанию работает нормально, поэтому, возможно, возникла проблема с перезаписью стилей.
Пробовали ли вы переместить тень в стиль и активировать VisualStateManager соответствующий стиль?