2008-10-31 7 views
7

मेरे पास एक WPF नियंत्रण है, जिसमें "निवेशक" की सूची है, और सूची के दाएं कॉलम में, "हटाएं" बटन है।क्या विंडोज़ फॉर्म या डब्ल्यूपीएफ ऐप में "विंगडिंग्स" फोंट का उपयोग करना उचित है?

मैं या तो फ़ोटोशॉप में "x" की छवि बनाने में कुछ समय बर्बाद कर सकता था। या, मैं सिर्फ विंगडिंग्स फ़ॉन्ट का उपयोग कर सकता हूं और सामग्री को "Õ" पर सेट कर सकता हूं (जो एक शानदार दिखने वाला डिलीट बटन बनाता है)।

क्या यह उचित है? मेरी सोच है ... जबकि प्रत्येक फ़ॉन्ट परिवार हर कंप्यूटर पर नहीं है, मुझे पूरा यकीन है कि यह कहना सुरक्षित है कि यदि आप मेरे डब्ल्यूपीएफ विंडोज फॉर्म प्रोग्राम चला रहे हैं, तो आपके पास विंगडिंग्स हैं।

आपको क्या लगता है? कृपया इस मामले पर सांख्यिकी (न केवल भावनाएं) देने का प्रयास करें। क्या मुझे फ़ॉन्ट आकार के बारे में चिंता करनी चाहिए? आदि

+0

FYI करें: भी Marlett फ़ॉन्ट में ग्राफिक्स के एक झुंड देखते हैं। मैं उनका उपयोग करता हूं और मुझे गंदा महसूस नहीं होता है। http://stackoverflow.com/questions/432384/wpf-create-buttons-with-up-and-down-arrows-using- मानक- buttons – kenny

उत्तर

15

ईमानदारी से, अगर आप WPF का उपयोग कर रहे, यह शायद बस के रूप में आसान एक 'एक्स' आकार बनाने के लिए एक पथ का उपयोग करने के तरीके:

<Style x:Key="DeleteButtonStyle" TargetType="{x:Type Button}"> 
     <Setter Property="HorizontalAlignment" Value="Stretch"/> 
     <Setter Property="HorizontalContentAlignment" Value="Center"/> 
     <Setter Property="VerticalAlignment" Value="Stretch"/> 
     <Setter Property="VerticalContentAlignment" Value="Center"/> 
     <Setter Property="Cursor" Value="Hand"/> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type Button}"> 
        <Grid HorizontalAlignment="Center" VerticalAlignment="Center"> 
         <Path Name="Circle" Data="F1 M 0 7.5 A 7.5 7.5 0 1 1 15 7.5 A 7.5 7.5 0 1 1 0 7.5"/> 
         <Path Fill="White" Data="F1 M 7.5 6 L 10.5,3 12,4.5 9,7.5 12,10.5 10.5,12 7.5,9 4.5,12 3,10.5 6,7.5 3,4.5 4.5,3 Z"/> 
        </Grid> 
        <ControlTemplate.Triggers> 
         <Trigger Property="IsMouseOver" Value="True"> 
          <Setter Property="Fill" TargetName="Circle" Value="SlateGray"/> 
         </Trigger> 
         <Trigger Property="IsMouseOver" Value="False"> 
          <Setter Property="Fill" TargetName="Circle" Value="DarkGray"/> 
         </Trigger> 
         <DataTrigger Binding="{Binding}" Value="{x:Null}"> 
          <Setter Property="Visibility" Value="Hidden"/> 
         </DataTrigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
     <Setter Property="ToolTip" Value="Delete This Item"/> 
    </Style> 

बस एक बटन को यह शैली लागू है, और आप मिल एक त्वरित "हटाएं" बटन!

+1

अच्छी बात यह है कि डब्ल्यूपीएफ कुछ बहुत ही अच्छे वेक्टर सामान की अनुमति देता है ... लेकिन वहां हैं विंगडिंग्स में इतनी सारी संभव चीजें जिन्हें कोई चाहें। क्या आपको लगता है कि यह उन सभी के लिए जाने का तरीका है? (अच्छा जवाब बीटीडब्ल्यू)। –

+0

आप अच्छे जवाब दे रहे हैं। जैसे मैंने किया। – Will

+0

मैं वास्तव में डब्ल्यूपीएफ में वेक्टर ग्राफिक्स में बहुत कुछ करना चाहता हूं। यह स्वच्छ, स्केलेबल, ग्राफिक्स का उत्पादन करने के लिए स्वयं को उधार देता है। संकल्प के आधार पर फ़ॉन्ट्स अच्छी तरह से स्केल कर सकते हैं या नहीं कर सकते हैं, यह होगा। –

3

मान लीजिए कि आप यूनिकोड प्रदर्शित कर सकते हैं, आप जो भी करने की कोशिश कर रहे हैं उसके लिए कई फोंट में बहुत सारे ग्लिफ हैं।

उदाहरण के लिए, इस में (शायद) एरियल यूनिकोड वर्ण है: ✖

मैं http://www1.tip.nl/~t876506/UnicodeDisplay.html से चरित्र संदर्भ लिया, लेकिन मुझे यकीन है कि बेहतर स्थानों की तुलना में इस

+0

बेशक, आपको उम्मीद है कि प्रत्येक क्लाइंट का फ़ॉन्ट होगा, या फ़ॉन्ट परिनियोजन (जिसे मैं व्यक्तिगत रूप से आनंद नहीं लेता) में मिलता हूं। – MusiGenesis

+0

कि वह चरित्र मेरे लिए '2716' के साथ एक छोटे से बॉक्स के रूप में दिखाता है। – Blorgbeard

3

क्षमा करें पता लगाने के लिए देखते हैं हूँ, लेकिन मैं कुछ भी नहीं सोच सकता जो अनुप्रयोगों को नियंत्रण के लिए विंगडिंग वर्णों के उपयोग से अधिक शौकिया दिखता है।

+0

वास्तव में? स्वच्छ और फ्लैट इंटरफेस के पुनरुत्थान (शुक्रिया) के साथ उन फ्लैट प्रतीकों में से कई प्रचलित हैं। इस "ज़्यून-जैसा" इंटरफ़ेस पर एक नज़र डालें जो विंडोज नियंत्रणों के लिए विंगडिंग का उपयोग करता है: http://stevenhook.blogspot.com.br/2011/01/wpf-borderless-window-controls.html – Loudenvier

3

मुझे लगता है कि आपको ठीक होना चाहिए, खासकर WPF के साथ। मुझे नहीं पता कि विंगडिंग्स फ़ॉन्ट विशेष रूप से प्रत्येक विंडोज मशीन (शायद हां) पर है, लेकिन मुझे पता है कि मार्लेट फ़ॉन्ट के पात्र Win XP UI में उपयोग किए जाते हैं।

+0

उत्कृष्ट उत्तर, मार्लेट के बारे में इस बिंदु के लिए धन्यवाद (मुझे यह नहीं पता था)। –

2

मुझे लगता है कि अच्छा समाधान आपको विंगडिंग से पसंद करने वाले ग्लिफ ले जाएगा, और उन्हें आपके ऐप के संसाधनों के रूप में WPF आकार में परिवर्तित कर देगा। यह आपके ऐप में केवल कुछ केबी जोड़ देगा और आप विंगडिंग पर निर्भर नहीं होंगे।

+0

रिकॉर्ड के लिए, आप ऐसा करने के बारे में कैसे जाएंगे? –

+0

मैंने सोचा कि ब्लेंड ने कुछ ब्लॉग पोस्टों के अनुसार इसे पढ़ा है, लेकिन अब मैंने देखा है, यह इस तरह काम करता है: http://msdn.microsoft.com/en-us/library/cc296385.aspx - आप एम्बेड कर सकते हैं एक संपूर्ण फ़ॉन्ट, या सिर्फ एक सबसेट जो आप उपयोग करते हैं –

0

अधिकांश समस्या बाइट आकार को जोड़ना भूल गई थी।

सी # में (Winform) मैं का उपयोग करें:

static Font wingdings2 = new Font("Wingdings 2", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(2))); 

तो मैं कर सकते हैं:

myTextBoxt.Font = wingdings2; 
संबंधित मुद्दे