1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Saber tamanho de valor NaN

Galera, estou com a seguinte dúvida. Estou criando em tempo de execução um TextBlock e um Rectangle, o TextBlock vai ter o Width NaN (automático) e o Rectangle tem que ter o mesmo Width que o TextBlock. Segue os Códigos abaixo:

Código TextBlock:

TextBlock txtMensagem = new TextBlock();

txtMensagem.Text = "Teste 1234567890";
txtMensagem.TextWrapping = TextWrapping.Wrap;
txtMensagem.Height = Double.NaN;
txtMensagem.Width = Double.NaN;
txtMensagem.MaxWidth = 500;

Aqui é criado o TextBlock que altera sua largura e altura de acordo com o tamanho do texto.

Código do Rectangle:

Rectangle rectangle = new Rectangle();

rectangle.Height = Double.NaN;
rectangle.Width = txtMensagem.ActualWidth;

Porém os resultados são: txtMensagem.ActualWidth = 0 e o txtMensagem.Width = NaN.

Como faço para conseguir pegar o valor de Width do TextBlock?

Obrigado.

  • assim, o que você acha que é a constante NaN exatamente ?

    Rodolfo Mendes   19 de nov de 2014
  • eu uso o NaN para que o Width pegue um valor automático de acordo com o tamanho do Text, porem precisava desse valor em número depois que é criado a TextBlock com o Texto dentro. Ele não é um valor numérico, porem ocupa o lugar de um numérico (o tamanho width). Deu pra entender? hehehe

    Gustavo Freitas   20 de nov de 2014
  • mas isso é uma convenção do C# ?

    Rodolfo Mendes   20 de nov de 2014
  • não, isso é um tipo de Double, porém não é numérico. Da uma olhada aqui http://msdn.microsoft.com/pt-br/library/system.double.nan(v=vs.110).aspx

    Gustavo Freitas   20 de nov de 2014
  • eu sei o que quer dizer NaN, o que eu acho estranho é deliberadamente atribuir NaN para um campo que sempre deveria ter um valor válido.

    Rodolfo Mendes   20 de nov de 2014
Mostrar todos os 6 comentários>
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags c# ou faça a sua própria pergunta.