找出 Windows Phone 中系统定义样式的内部结构

Posted

技术标签:

【中文标题】找出 Windows Phone 中系统定义样式的内部结构【英文标题】:Find out internals of a system-defined style in Windows Phone 【发布时间】:2011-12-21 14:47:27 【问题描述】:

每当我将样式设置为 TextBlock 时,我都会定义在样式中定义的某个 FontFamily 和 FontSize。

我将设置TextBox 的样式,使其看起来与TextBlock 完全相同,但周围有边框。

我将Style="StaticResource PhoneTextLargeStyle" 应用到我的文本框。在 SilverlightSpy 中,我看到它将 FontSize 设置为 32 pt。但实际上它很可能在PhoneTextLargeStyle 中使用<Setter Property="FontFamily" Value="StaticResource PhoneFontFamilyNormal"/> 之类的东西。

如何在预定义的 Windows Phone 样式中找到 setter 的细分?

是否有一种更简单的方法可以调整TextBox 使其看起来与TextBlock 完全相同,而无需为前者定义自定义样式?

【问题讨论】:

【参考方案1】:

您可以在C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Design\System.Windows.xaml中找到所有默认样式

系统范围的文本样式位于 Design\ThemeResources.xaml

【讨论】:

【参考方案2】:

如何在预定义的 Windows Phone 样式中找到 setter 的细分?

您可以使用 Expression Blend 提取模板。当您选择定义自定义样式时,它会自动完成。

【讨论】:

谢谢,但我需要获取像 PhoneTextLargeStyle 这样的样式的内容,而不是控件的样式。 你可以在 MSDN 上找到它的“内容”,msdn.microsoft.com/en-us/library/ff769552(v=vs.92).aspx,无论如何,我以为你的意思是 TextBlock 控件的样式,而不是 Text 样式。

以上是关于找出 Windows Phone 中系统定义样式的内部结构的主要内容,如果未能解决你的问题,请参考以下文章

Windows phone silverlight one 主题

通过 Windows Phone 库打开自定义图像

Windows Phone 应用程序中的自定义 MFT

如何在 Windows Phone 8.1 / Windows 10 上创建自定义 VirtualizingPanel?

在不使用 GPS 的情况下获取大致位置 (Windows Phone 7)

采用从混合弹出到 Visual Studio Windows Phone 8