【问题标题】:Is there a Windows (Phone) equivalent of the Android selector?是否有与 Android 选择器等效的 Windows(电话)?
【发布时间】:2015-02-24 12:55:53
【问题描述】:

Android xml 对作为选择器的按钮(和其他东西)状态有一个好处。

以下是 Android 文档的示例:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:constantSize=["true" | "false"]
    android:dither=["true" | "false"]
    android:variablePadding=["true" | "false"] >
    <item
        android:drawable="@[package:]drawable/drawable_resource"
        android:state_pressed=["true" | "false"]
        android:state_focused=["true" | "false"]
        android:state_hovered=["true" | "false"]
        android:state_selected=["true" | "false"]
        android:state_checkable=["true" | "false"]
        android:state_checked=["true" | "false"]
        android:state_enabled=["true" | "false"]
        android:state_activated=["true" | "false"]
        android:state_window_focused=["true" | "false"] />
</selector>

我们可以使用 XAML 或 C# 中的某些东西在 Windows(电话)应用程序上获得相同的效果吗? (或通用应用)。

现在我使用 Listeners GotFocus、LostFocus 等。但我不认为这是一个简单的解决方案。

有人对如何做到这一点有更好的想法吗?

【问题讨论】:

  • @user2941906 您提供的文档适用于 WPF。 Windows(电话)/运行时/通用应用程序可能有类似的东西。但事实并非如此
  • 我认为 windows phone 中的 XAML 样式与 wpf 相同
  • @user2941906 WPF 上的一些控件和功能不适用于 Windows Phone

标签: c# android xaml windows-phone win-universal-app


【解决方案1】:

您可以纯粹在 xaml 中定义控件的完整多状态布局。 为按钮定义自定义样式并设置Template 属性。不幸的是,这完全覆盖了模板,因此您可能必须复制默认模板。在那里你可以为PressedMouseOver等设置不同的VisualStates

要获得按钮默认样式,请使用 Blend,如下所述:http://www.geekchamp.com/tips/windows-phone-button-default-style

有关自定义按钮模板的更多信息:http://www.geekchamp.com/tips/custom-styles-and-templates-in-windows-phone-button

【讨论】:

  • 我也想知道那个解决方案。很遗憾,您必须复制/粘贴整个默认样式并且不能只覆盖某些 VisualStates :(
猜你喜欢
  • 1970-01-01
  • 2023-02-11
  • 1970-01-01
  • 2010-09-11
  • 2011-11-14
  • 1970-01-01
  • 1970-01-01
  • 2011-10-25
相关资源
最近更新 更多