का उपयोग कर WPF में फ़ॉन्ट आइकन बदलना मैं अपने सी # डब्ल्यूपीएफ एप्लिकेशन के भीतर मूल फ़ॉन्ट छवियों को प्रस्तुत करने के लिए फ़ॉन्ट विस्मयकारी आइकन का उपयोग कर रहा हूं। रन-टाइम के दौरान जब मैं टेक्स्टब्लॉक को एक अलग फ़ॉन्ट आइकन प्रदर्शित करने का प्रयास करता हूं लेकिन फ़ॉन्ट आइकन के बजाय यूनिकोड प्रतिनिधित्व प्रदर्शित होता है।फ़ॉन्ट विस्मयकारी
मैंने इसे प्रदर्शित करने के लिए एक नमूना आवेदन बनाया है। जब किसी भी बटन पर क्लिक किया जाता है, तो यह टेक्स्टबॉक्स की टेक्स्ट प्रॉपर्टी को संबंधित आइकन के लिए यूनिकोड के साथ बदल देता है। प्रोजेक्ट में एक संसाधन फ़ोल्डर है जिसमें FontAwesome.ttf फ़ॉन्ट फ़ाइल एक बिल्ड संसाधन के रूप में है जो टेक्स्टब्लॉक का फ़ॉन्टफैमिली संपत्ति संदर्भ है।
यहाँ मेरी नमूना आवेदन के स्रोत कोड है:
कोड-पीछे:
namespace FontAwesomeTest
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void btnGlass_Click(object sender, RoutedEventArgs e)
{
tblkFontIcon.Text = "";
}
private void btnMusic_Click(object sender, RoutedEventArgs e)
{
tblkFontIcon.Text = "";
}
private void btnSearch_Click(object sender, RoutedEventArgs e)
{
tblkFontIcon.Text = "";
}
}
}
XAML:
<Window x:Class="FontAwesomeTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Font Awesome Test Window" Height="300" Width="330" Name="FontAwesomeTestWindow">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="25"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Name="btnGlass" Height="35" Width="85" Click="btnGlass_Click" >Glass</Button>
<Button Name="btnMusic" Grid.Column="1" Height="35" Width="85" Click="btnMusic_Click">Music</Button>
<Button Name="btnSearch" Grid.Column="2" Width="85" Height="35" Click="btnSearch_Click">Search</Button>
<TextBlock Grid.Row="1" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="18" FontFamily="../Resources/#FontAwesome"></TextBlock>
<TextBlock Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="18" FontFamily="../Resources/#FontAwesome"></TextBlock>
<TextBlock Grid.Row="1" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="18" FontFamily="../Resources/#FontAwesome"></TextBlock>
<TextBlock Name="tblkFontIcon" Grid.Row="2" Grid.ColumnSpan="3" FontSize="64" FontFamily="../Resources/#FontAwesome" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
</Grid>
मैं में फ़ॉन्ट बहुत बढ़िया शामिल करने के लिए निम्नलिखित ट्यूटोरियल का इस्तेमाल किया मेरी आवेदन http://www.codeproject.com/Tips/634540/Using-Font-Icons
तो संक्षेप में, मैं आइकन कैसे बदल सकता हूं लेकिन एक आइकन डिस्प्ले है - यूनिकोड नहीं?
अग्रिम धन्यवाद।
सबसे पहले - शीघ्र प्रतिक्रिया के लिए धन्यवाद! आपके द्वारा प्रदान किया गया अपडेट यह है कि मैं वर्तमान में अपने WPF एप्लिकेशन में फ़ॉन्ट्स का उपयोग कैसे कर रहा हूं। जैसा कि सवाल बताता है, यह वर्तमान में काम करता है लेकिन यूनिकोड प्रदर्शित करता है जब मैं टेक्स्ट प्रॉपर्टी बदलता हूं, भले ही मैं इसे एक ही यूनिकोड में बदलूं। मैंने इसकी छवियों को शामिल करने की कोशिश की लेकिन पर्याप्त 'सड़क क्रेडिट' नहीं है। फ़ॉन्ट आइकन का उपयोग करने के लिए, मैं यह समझ नहीं सकता कि रनटाइम पर आइकन बदलने के लिए इसका उपयोग कैसे किया जाए क्योंकि मेरी आवश्यकता की आवश्यकता है। मैं डिजाइन/बिल्ड समय के दौरान काम करने के लिए इसे प्राप्त कर सकते हैं। – Gareth
मुझे लगता है कि आपको इसे "& # xf000;" के साथ सेट करने के बजाय टेक्स्ट को यूनिकोड स्ट्रिंग के साथ सेट करना चाहिए। – terry
मैंने अपडेट किया है, और आप अपने टेक्स्टब्लॉक को बदलने के लिए उस कोड का अनुसरण कर सकते हैं। किसी अन्य यूनिकोड स्ट्रिंग पर आगे बढ़ें, और यह काम करना चाहिए। – terry