TextRange.ApplyPropertyValue(DependencyProperty, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将指定的格式属性和值应用于当前所选内容。
public:
void ApplyPropertyValue(System::Windows::DependencyProperty ^ formattingProperty, System::Object ^ value);
public void ApplyPropertyValue (System.Windows.DependencyProperty formattingProperty, object value);
member this.ApplyPropertyValue : System.Windows.DependencyProperty * obj -> unit
Public Sub ApplyPropertyValue (formattingProperty As DependencyProperty, value As Object)
参数
- formattingProperty
- DependencyProperty
要应用的格式属性。
- value
- Object
格式属性的值。
例外
当 formattingProperty
未指定有效的格式属性,或 value
为 formattingProperty
指定的值无效时发生。
当 formattingProperty
为 null
时发生。
示例
下面的示例演示 ApplyPropertyValue 方法的用法。
// This method accepts an input stream and a corresponding data format. The method
// will attempt to load the input stream into a TextRange selection, apply Bold formatting
// to the selection, save the reformatted selection to an alternat stream, and return
// the reformatted stream.
Stream BoldFormatStream(Stream inputStream, string dataFormat)
{
// A text container to read the stream into.
FlowDocument workDoc = new FlowDocument();
TextRange selection = new TextRange(workDoc.ContentStart, workDoc.ContentEnd);
Stream outputStream = new MemoryStream();
try
{
// Check for a valid data format, and then attempt to load the input stream
// into the current selection. Note that CanLoad ONLY checks whether dataFormat
// is a currently supported data format for loading a TextRange. It does not
// verify that the stream actually contains the specified format. An exception
// may be raised when there is a mismatch between the specified data format and
// the data in the stream.
if (selection.CanLoad(dataFormat))
selection.Load(inputStream, dataFormat);
}
catch (Exception e) { return outputStream; /* Load failure; return a null stream. */ }
// Apply Bold formatting to the selection, if it is not empty.
if (!selection.IsEmpty)
selection.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold);
// Save the formatted selection to a stream, and return the stream.
if (selection.CanSave(dataFormat))
selection.Save(outputStream, dataFormat);
return outputStream;
}
' This method accepts an input stream and a corresponding data format. The method
' will attempt to load the input stream into a TextRange selection, apply Bold formatting
' to the selection, save the reformatted selection to an alternat stream, and return
' the reformatted stream.
Private Function BoldFormatStream(ByVal inputStream As Stream, ByVal dataFormat As String) As Stream
' A text container to read the stream into.
Dim workDoc As New FlowDocument()
Dim selection As New TextRange(workDoc.ContentStart, workDoc.ContentEnd)
Dim outputStream As Stream = New MemoryStream()
Try
' Check for a valid data format, and then attempt to load the input stream
' into the current selection. Note that CanLoad ONLY checks whether dataFormat
' is a currently supported data format for loading a TextRange. It does not
' verify that the stream actually contains the specified format. An exception
' may be raised when there is a mismatch between the specified data format and
' the data in the stream.
If selection.CanLoad(dataFormat) Then
selection.Load(inputStream, dataFormat)
End If
Catch e As Exception ' Load failure return a null stream.
Return outputStream
End Try
' Apply Bold formatting to the selection, if it is not empty.
If Not selection.IsEmpty Then
selection.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold)
End If
' Save the formatted selection to a stream, and return the stream.
If selection.CanSave(dataFormat) Then
selection.Save(outputStream, dataFormat)
End If
Return outputStream
End Function
注解
此方法通过将相应的 Inline 元素(如 Bold 和 Italic)插入到此 TextRange指示的选择中来应用格式。