【问题标题】:Darken element background on hover悬停时使元素背景变暗
【发布时间】:2020-09-10 16:14:17
【问题描述】:

我不想为悬停或 PointerOver 上的每个按钮定义颜色和样式。我想将任何元素变暗 20%,或者我可以使用带有不透明度的黑色叠加层。我在 ControlTemplate 上查看了 VisualStates,还使用了显示高亮、显示焦点和丙烯酸树脂,但无法使其正常工作。 UWP 不允许这样做吗?我可以在 XAML 或 C# 代码中使用它。有人能指出我正确的方向或展示他们项目中与我想做的类似的例子吗?在下面的代码中,我删除了视觉状态上的默认指针,因为它看起来很糟糕。谢谢。


<ControlTemplate x:Key="DefaultButtonControlTemplate" TargetType="Button">
        <Grid x:Name="RootGrid" Background="{TemplateBinding Background}">
            <VisualStateManager.VisualStateGroups>
                <VisualStateGroup x:Name="CommonStates">
                    <VisualState x:Name="PointerOver"/>
                </VisualStateGroup>
            </VisualStateManager.VisualStateGroups>
            <ContentPresenter 
                x:Name="ContentPresenter" 
                AutomationProperties.AccessibilityView="Raw" 
                BorderBrush="{TemplateBinding BorderBrush}" 
                BorderThickness="{TemplateBinding BorderThickness}"
                ContentTemplate="{TemplateBinding ContentTemplate}" 
                ContentTransitions="{TemplateBinding ContentTransitions}" 
                Content="{TemplateBinding Content}" 
                HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" 
                Padding="{TemplateBinding Padding}" 
                VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" 
                TextWrapping="WrapWholeWords"/>
        </Grid>
    </ControlTemplate>

【问题讨论】:

  • 这是 Xamarin 还是 UWP???
  • 这是一个 Xamarin UWP 应用。

标签: xaml xamarin xamarin.forms uwp uwp-xaml


【解决方案1】:

我想将任何元素变暗 20%,或者我可以使用带有不透明度的黑色叠加层。

恐怕不能为每个元素指定样式,一般情况下,我们需要编辑PointerOverVisualState更改匹配的部分以使元素变暗,但不能应用于所有元素,目前,修改样式改变PointerOver状态是我们唯一可以接近的方法。

【讨论】:

    【解决方案2】:

    UWP 允许这样做。但是,您使用的不是 UWP,而是 Xamarin.Forms。 UWP 只是您的编译目标,您的 Xamarin 项目的用户界面功能受 Xamarin.Forms 功能的限制。

    在 Xamarin.Forms 中实现这一目标的唯一方法是为 UWP 编写自定义渲染器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 2021-04-20
      • 1970-01-01
      • 2014-06-22
      • 2018-05-05
      • 2016-02-25
      相关资源
      最近更新 更多