如何从 C# 更改 XAML 字形?
How to change an XAML glyph from C#?
我有一个显示空框的 XAML 标签。它使用类似于 Microsoft's MDL2 assets 的字形字体系列(跨平台除外)。
<Label Content="" FontFamily="avares://HomeworkCalendar/Assets/Fonts#Symbols" PointerEnter="Check_OnPointerEnter" PointerLeave="Check_OnPointerLeave"/>
当用户将鼠标悬停在元素上时,我将其从框更改为复选框。
private void Check_OnPointerEnter(object? sender, PointerEventArgs e) {
var label = (Label)sender!;
label.Content = ""; // Checked checkbox
}
private void Check_OnPointerLeave(object? sender, PointerEventArgs e) {
var label = (Label)sender!;
label.Content = ""; // Unchecked checkbox
}
在程序启动时它显示未选中的复选框,但代码隐藏将其更改为仅文本 
而不是字形。 我知道为什么会这样,但我无法在任何地方找到如何以不同方式解析它以使其正确显示。任何人都知道我如何才能正确解析它?
虽然在XAML中使用&#x
表示字符串文字的下四个字符是十六进制代码,但在C#中使用\x
。
XAML: 
C#:\xE739
我有一个显示空框的 XAML 标签。它使用类似于 Microsoft's MDL2 assets 的字形字体系列(跨平台除外)。
<Label Content="" FontFamily="avares://HomeworkCalendar/Assets/Fonts#Symbols" PointerEnter="Check_OnPointerEnter" PointerLeave="Check_OnPointerLeave"/>
当用户将鼠标悬停在元素上时,我将其从框更改为复选框。
private void Check_OnPointerEnter(object? sender, PointerEventArgs e) {
var label = (Label)sender!;
label.Content = ""; // Checked checkbox
}
private void Check_OnPointerLeave(object? sender, PointerEventArgs e) {
var label = (Label)sender!;
label.Content = ""; // Unchecked checkbox
}
在程序启动时它显示未选中的复选框,但代码隐藏将其更改为仅文本 
而不是字形。 我知道为什么会这样,但我无法在任何地方找到如何以不同方式解析它以使其正确显示。任何人都知道我如何才能正确解析它?
虽然在XAML中使用&#x
表示字符串文字的下四个字符是十六进制代码,但在C#中使用\x
。
XAML: 
C#:\xE739