获取 FlowDocument.PageWidth 属性 的自动确定值
Get automatically determined value of FlowDocument.PageWidth property
我有一个 WPF RichTextBox
控件,我将 RichTextBox.Document.PageWidth
属性 的值设置为 double.NaN
以便自动确定该值。
现在我想获得自动确定的值,但我无法通过读取 属性 的值来实现,因为它 returns double.NaN
.
编辑
我尝试在属性的OnMyPropertyChanged
方法中获取RichTextBox.DesiredSize
的值,可以设置为自动(值为double.NaN
):
if (!double.IsNaN(MyProperty)) richTextBox.Width = MyProperty;
else richTextBox.Width = richTextBox.DesiredWidth;
但是,DesiredSize
returns 两个轴上都是 0。
这是设计使然...RichTextBox 本来应该存在于固定宽度的视图中。应该可行的解决方法 - 将其放入边框,并将富文本框的宽度绑定到边框的 ActualWidth。
干杯。
创建一个TextBlock
控件(不必将其添加到任何父控件),设置需要获取其宽度的文本值,以及字体属性(FontFamily
、FontStyle
、FontWeight
、FontStretch
和 FontSize
),然后调用控件上的 Measure
方法,以便它确定其 DesiredSize
属性,你可以阅读。
我有一个 WPF RichTextBox
控件,我将 RichTextBox.Document.PageWidth
属性 的值设置为 double.NaN
以便自动确定该值。
现在我想获得自动确定的值,但我无法通过读取 属性 的值来实现,因为它 returns double.NaN
.
编辑
我尝试在属性的OnMyPropertyChanged
方法中获取RichTextBox.DesiredSize
的值,可以设置为自动(值为double.NaN
):
if (!double.IsNaN(MyProperty)) richTextBox.Width = MyProperty;
else richTextBox.Width = richTextBox.DesiredWidth;
但是,DesiredSize
returns 两个轴上都是 0。
这是设计使然...RichTextBox 本来应该存在于固定宽度的视图中。应该可行的解决方法 - 将其放入边框,并将富文本框的宽度绑定到边框的 ActualWidth。
干杯。
创建一个TextBlock
控件(不必将其添加到任何父控件),设置需要获取其宽度的文本值,以及字体属性(FontFamily
、FontStyle
、FontWeight
、FontStretch
和 FontSize
),然后调用控件上的 Measure
方法,以便它确定其 DesiredSize
属性,你可以阅读。