【发布时间】:2013-04-04 12:20:08
【问题描述】:
我有一个复选框列表,选中这些复选框后,内容(文本)应该被删除,甚至只是为了更改选中项目的字体样式(颜色)。我正在尝试在我的代码隐藏页面中的 checkbox_Tap 事件处理程序中执行此操作。
关于如何更改字体样式或如何使其罢工的任何想法?
【问题讨论】:
标签: c# windows-phone-7 checkbox windows-phone-8 strikethrough
我有一个复选框列表,选中这些复选框后,内容(文本)应该被删除,甚至只是为了更改选中项目的字体样式(颜色)。我正在尝试在我的代码隐藏页面中的 checkbox_Tap 事件处理程序中执行此操作。
关于如何更改字体样式或如何使其罢工的任何想法?
【问题讨论】:
标签: c# windows-phone-7 checkbox windows-phone-8 strikethrough
Design Guidelines 提到您应该始终使用系统字体,除非您有特定的“品牌”,尽管没有任何东西迫使您遵循这一点。
不过,CheckBox 本身具有您可以在代码隐藏中为 FontFamily、FontSize、FontStretch、FontStyle、Foreground 等设置的属性。
在您的 CheckBox_Tap 事件处理程序中,您可以执行以下操作:
void CheckBox_Tap(object sender, EventArgs e)
{
CheckBox cb = (CheckBox)sender;
cb.FontFamily = //<your new font here>
cb.FontStyle = // <new style here>
}
至于删除线 - 看起来没有内置的方法可以做到这一点(例如,删除线没有特定的属性,您可以将其设置为 True)。
但是,我确实遇到了this post,并且有一个答案显示了使用Border 在 XAML 中执行此操作的一种hacky方法(我没有尝试过)。我想知道你是否可以试试这个,并将你的 CheckBox 包裹在默认不可见的 Border 中,然后在你想要删除线时让它可见?
希望这会有所帮助!
【讨论】: