2011-03-29 10 views
5

Necesito mostrar un número como cadena binaria (por ejemplo, 8 => 1000). Claro que puedo convertirlo usando BitConverter y configurar el texto de mi TextBox solo en el código detrás del archivo. Pero esto se ve algo feo. ¿Es posible vincular el TextBox a alguna fuente y convertirlo automáticamente?Mostrar números como binarios de una fuente vinculada

Respuesta

4

Yo sugeriría usar un ValueConverter

Crear una clase como esta:

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; 
    } 
} 

A continuación, se puede utilizar de esta manera (sin código detrás)

<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> 
Cuestiones relacionadas