IsXamlText: Boolean;
IsXamlText: boolean;
Свойство IsXamlText определяет, будет ли использоваться XAML-структура для задания оформления отдельных частей текста диапазона.
Допустимые значения:
True. Для отдельных частей текста можно задать собственное оформление. Текст и оформление при этом будут представлены в XAML-формате;
False. Для текста будут применяться настройки шрифта, установленные в свойстве ITabCellStyle.Font.
Для получения/изменения текста в XAML-формате используйте свойство ITabRange.Text.
На формат отображения текста влияет свойство ITabView.UseWpfEditor, при установке данному свойству значения False, возможность отображения форматированного текста ячейки либо диапазона ячеек в формате XAML отсутствует. Информация о работе с WPF-редактором представлена в статье «Использование форматированного текста».
При работе со сложным форматированием необходимо учитывать особенности ввода значений в ячейку.
Текст XAML-формата должен начинаться с объявления версии XAML и соответствовать правилам написания XAML-структуры. Не допускается использование пробелов или табуляции перед объявлением версии.
Примечание. Свойство является устаревшим, используйте вместо него свойство ITabRange.IsRtfText.
Для выполнения примера предполагается наличие формы, содержащей компонент Button с идентификатором «Button1», компонент TabSheetBox с идентификатором «TabSheetBox1» и компонент UiTabSheet с идентификатором «UiTabSheet1». Укажите компонент «UiTabSheet1» в качестве источника данных для компонента «TabSheetBox1».
Пример является обработчиком события OnClick для компонента «Button1».
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
TSheet: ITabSheet;
TRange: ITabRange;
Begin
TSheet := UiTabSheet1.TabSheet;
TRange := TSheet.ParseCell("A0");
TRange.Value := "m2";
TRange.Text := "<?xml version=""1.0"" encoding=""utf-16""?><TextBlock FontFamily=""Arial"""
+
" FontStyle=""Normal"" FontWeight=""Normal"" FontSize=""10.6666666666667"" Foreground=""#FF000000"""
+
" Background=""#00FFFFFF"" TextAlignment=""Left"" TextWrapping=""NoWrap"" FlowDirection=""LeftToRight"""
+
" VerticalAlignment=""Top"" xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"""
+
" xmlns:s=""clr-namespace:System;assembly=mscorlib"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"">"
+
"<TextBlock.Resources><s:String x:Key=""GeneralAlignment"">True</s:String></TextBlock.Resources>M<Run BaselineAlignment=""TextTop"""
+
" FontSize=""8.484848484848"">2</Run></TextBlock>";
TRange.IsXamlText := True;
End Sub Button1OnClick;
При нажатии на кнопку «Button1» в ячейке «A0» будет отображен форматированный текст - M2.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Tab;
...
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
TSheet: ITabSheet;
TRange: ITabRange;
Begin
TSheet := UiTabSheetNet1.TabSheetUi.TabSheet;
TRange := TSheet.ParseCell("A0");
TRange.Value := "m2";
TRange.Text := "<?xml version=""1.0"" encoding=""utf-16""?><TextBlock FontFamily=""Arial""" +
" FontStyle=""Normal"" FontWeight=""Normal"" FontSize=""10.6666666666667"" Foreground=""#FF000000""" +
" Background=""#00FFFFFF"" TextAlignment=""Left"" TextWrapping=""NoWrap"" FlowDirection=""LeftToRight""" +
" VerticalAlignment=""Top"" xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation""" +
" xmlns:s=""clr-namespace:System;assembly=mscorlib"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"">" +
"<TextBlock.Resources><s:String x:Key=""GeneralAlignment"">True</s:String></TextBlock.Resources>M<Run BaselineAlignment=""TextTop""" +
" FontSize=""8.484848484848"">2</Run></TextBlock>";
TRange.IsXamlText := True;
End Sub;
См. также: