2011-03-29 5 views
5

मुझे बाइनरी स्ट्रिंग के रूप में एक संख्या प्रदर्शित करने की आवश्यकता है (उदा। 8 => 1000)। निश्चित रूप से मैं इसे बिटकॉन्टर का उपयोग करके परिवर्तित कर सकता हूं और फ़ाइल के पीछे कोड में अपने टेक्स्टबॉक्स का टेक्स्ट सेट कर सकता हूं। लेकिन यह कुछ हद तक बदसूरत लग रहा है। क्या टेक्स्टबॉक्स को कुछ स्रोतों से बांधना और इसे स्वचालित रूप से परिवर्तित करना संभव है?बाध्यकारी स्रोत से बाइनरी के रूप में संख्याएं दिखा रहा है

उत्तर

4

मैं एक ValueConverter

उपयोग करने के लिए इस तरह एक कक्षा बनाएं सुझाव है:

public class BinaryConverter : IValueConverter 
{ 

    public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
     return System.Convert.ToString(Convert.ToInt32(Convert.ToDouble(value)), 2); 
    } 

    public object ConvertBack(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
     return null; 
    } 
} 

तो फिर तुम इसे इस तरह (के पीछे किसी भी कोड के बिना) का उपयोग कर सकते

<Window.Resources> 
    <local:BinaryConverter x:Key="binConverter"></local:BinaryConverter> 
</Window.Resources> 
<StackPanel> 
    <Slider Name="sli" Minimum="0" Maximum="255" IsSnapToTickEnabled="True"> 
    </Slider> 
    <TextBox Text="{Binding ElementName=sli,Path=Value,Mode=OneWay,Converter={StaticResource binConverter}}"></TextBox> 
</StackPanel> 
संबंधित मुद्दे