Recientemente descubrí que WPF admite diferentes unidades de medida en XAML. Además de los DIP predeterminados, también hay soporte para píxeles, pulgadas y centímetros (hasta donde yo sé). Esto le permite al diseñador escribir XAML como este:Unidades WPF y código subyacente
<Canvas>
<Line X1="0cm" X2="3cm" Y1="1cm" Y2="3cm" Stroke="Black"/>
</Canvas>
Sin embargo, no puede vincular estos valores. Imagine que tenemos una propiedad ViewModel with Dimension que es una Cadena, por ejemplo "7cm". Lo siguiente no funcionará:
<Button Width="{Binding Dimension}">Test</Button>
Se lanza FormatException. Del mismo modo, cuando se crea un FrameworkElement
de código subyacente, como esto:
Canvas1.Children.Add(new Button() { Width = "3cm", Content = "Test"});
compilación falla debido a excepción en el constructor/dondequiera que intenta crear el control.
me pregunto:
- ¿Es posible utilizar unidades naturales (en mi caso métrica - centímetros) en el código subyacente?
- ¿Cómo?
- ¿Existe una lista completa de unidades compatibles con WPF/XAML?
EDIT:
Aquí hay un enlace de comentarios a continuación, que resuelve esta pregunta:
http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width.aspx
Esto es lo que estaba buscando, ¡gracias! –
De nada, me alegro de ayudar :) –