He encontrado una situación en la que sería muy útil especificar un valor de coma flotante directamente en XAML y usarlo como recurso para varias de las piezas de mi UI. Después de buscar, encontré una buena cantidad de información sobre cómo incluir el ensamblaje adecuado (mscorlib) en su XAML para que pueda hacer eso.Usar tipos de sistema en XAML como recursos
Desafortunadamente, recibo una excepción en una instancia en la que trato de hacer esto. Aquí es el siguiente XAML que recrea la situación:
<Window x:Class="davidtestapp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:core="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<core:Double x:Key="MyDouble">120</core:Double>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{StaticResource MyDouble}" />
<ColumnDefinition Width="40" />
<ColumnDefinition Width="40" />
</Grid.ColumnDefinitions>
<Rectangle Grid.Column="0" Fill="Red" />
<Rectangle Grid.Column="1" Fill="Green" />
<Rectangle Grid.Column="2" Fill="Blue" />
</Grid>
</Window>
Cuando intento compilar y ejecutar esto, me sale un XamlParseException arrojado a mí que dice que " '120' no es un valor válido para la propiedad 'width' ".
Pero la propiedad "Ancho" es una doble, entonces ¿por qué no puedo configurarlo usando el StaticResource que se definió? ¿Alguien sabe como hacer esto?
¡Gracias! Funcionó. Eso ayuda mucho. No me di cuenta de que era del tipo GridLength. – David