Допустим, у меня есть несколько XAML, как это:
<StackPanel>
<TextBlock Text="Blah Blah Blah" />
</StackPanel>
В этом случае, как я и ожидал, ширина равна NaN, поскольку она увеличивается с размером StackPanel и явно не устанавливается.
К сожалению, ActualWidth не дает ожидаемых результатов. ActualWidth не привязан к размеру StackPanel. Он привязан к длине отображаемого текста, даже если этот текст превышает размер родительского StackPanel.
Например, если StackPanel.ActualWidth равен 400, а мой текст больше 400, мой TextBlock.ActualWidth может быть 556 (или что-то еще). Кнопка в той же ситуации не ведет себя таким образом.
Это проблема для меня, потому что я пытаюсь реализовать прикрепленное поведение, которое реализует TrimmingText (elipsis в конце, если текст обрезан). Это прекрасно работает, если свойство Width установлено явно, но в более динамическом случае я не могу заставить его работать.
Есть мысли?
Брайан