是否有 Windows (Phone) 等同于 Android 选择器?
Is there a Windows (Phone) equivalent of the Android selector?
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 (Phone) 应用程序上获得相同的效果。 (或者就此而言,通用应用程序)。
现在我使用 Listeners GotFocus、LostFocus 等。但我认为这不是一个简单的解决方案。
有人对如何执行此操作有更好的想法吗?
您可以完全在xaml中定义控件的完整多状态布局。
为按钮定义自定义样式并设置Template
属性。不幸的是,这完全覆盖了模板,因此您可能必须复制默认模板。在那里你可以为 Pressed
、MouseOver
等设置不同的 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
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 (Phone) 应用程序上获得相同的效果。 (或者就此而言,通用应用程序)。
现在我使用 Listeners GotFocus、LostFocus 等。但我认为这不是一个简单的解决方案。
有人对如何执行此操作有更好的想法吗?
您可以完全在xaml中定义控件的完整多状态布局。
为按钮定义自定义样式并设置Template
属性。不幸的是,这完全覆盖了模板,因此您可能必须复制默认模板。在那里你可以为 Pressed
、MouseOver
等设置不同的 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