次のような XAML があるとします。
<StackPanel>
<TextBlock Text="Blah Blah Blah" />
</StackPanel>
この場合、予想どおり、Width は NaN です。これは、StackPanel のサイズとともに大きくなり、明示的に設定されていないためです。
残念ながら、ActualWidth では期待した結果が得られません。ActualWidth は、StackPanel のサイズに制限されません。テキストが親の StackPanel のサイズを超えた場合でも、レンダリングされたテキストの長さにバインドされます。
たとえば、StackPanel.ActualWidth が 400 で、テキストが 400 より大きい場合、TextBlock.ActualWidth は 556 (またはその他) になる可能性があります。同じ状況のボタンは、このようには動作しません。
TrimmingText を実装する添付の動作を実装しようとしているため、これは私にとって問題です (テキストがトリミングされている場合は末尾の省略記号)。Width プロパティが明示的に設定されている場合はうまく機能しますが、より動的なケースでは機能しません。
何かご意見は?
ブライアン