2013-05-06 21 views
6

Tôi muốn sử dụng phông chữ tuyệt vời (http://fortawesome.github.io/Font-Awesome/design.html) trong XAML.XAML TextBlock có đặt ký tự đặc biệt theo lập trình không?

tôi đã có thể dễ dàng có được nó để làm việc thông qua XAML trực tiếp, bằng cách tạo ra một thư mục phông chữ và thêm các font chữ có, sau đó trong XAML:

<TextBlock FontFamily="Fonts/#FontAwesome">&#xf000;</TextBlock> 

Hiển thị một biểu tượng martini kính.

Tuy nhiên, khi thêm nó lập trình nó chỉ cho thấy và biểu tượng không hợp lệ như vậy: [], tôi thử như sau:

XAML:

<TextBlock Name="textBlock"></TextBlock> 

C#:

textBlock.FontFamily = new FontFamily("Fonts/#FontAwesome"); 
textBlock.Text = HttpUtility.HtmlDecode("&#xf000;"); 

và nội dung sau trả về chuỗi chữ:

textBlock.FontFamily = new FontFamily("Fonts/#FontAwesome"); 
textBlock.Text = "&#xf000;"; 

Bất kỳ ý tưởng nào?

Trả lời

4

hãy thử như sau:

textBlock.FontFamily= new FontFamily(new Uri("pack://application:,,,/"), @"/Fonts/#FontAwesome"); // you should well reference your font else you will get a square 
textBlock.Text = "\uf000";// \u (unicode escape char) instead of &#x 

và nếu bạn muốn xem trước TextBlock XAML sử dụng của bạn

t_out.Text = XamlWriter.Save(textBlock); 
+0

URI dường như có công việc, tôi đã có phông chữ trong hai dự án riêng biệt, vì vậy nó wasn 't định vị chúng trong một phần ban đầu, nhưng sau khi tôi nhân đôi phông chữ này dường như đã làm việc. Cảm ơn. – Andrew

Các vấn đề liên quan