我有一个WPF ItemsControl
。在此ItemsControl
中,我想展示各种相似的对象(相同类型和相同DataTemplate
,但数据不同的对象)。 DataTemplate
的一小部分是TextBlock
,它显示了一个简单的字符串(每个对象的字符串长度不同)。
我想确定所有这些TextBlock
的字体大小,以便所有字符串中最长的字符串恰好适合可用空间(所有TextBlock
的字体大小)。 / p>
是否有任何内置方法(不是使用ViewBox
)?
我知道如何使用FormattedText
类来计算字符串的大小,我只是不知道如何以MVVM方式使用该知识。
是否应将每个FontSize
的{{1}}绑定到视图模型中的属性?但是视图模型如何知道计算字体大小所需的所有内容(如字体类型或可用空间)?
或者也许我可以为此创建附加行为?但是我应该在哪里添加哪些附加属性才能计算字体大小?