or
private
double
InitDataCell(TableCell dataCell, DynamicColumnViewModel columnVm,
bool
isWidth100,
double
percent)
{
double
cellHeight = 0;
dataCell.Tag = columnVm.DynamicCellData.TableID.ToString();
if
(isWidth100)
{
dataCell.PreferredWidth =
new
TableWidthUnit(TableWidthUnitType.Percent, percent);
}
else
{
dataCell.PreferredWidth =
new
TableWidthUnit(TableWidthUnitType.Fixed, columnVm.Width);
}
dataCell.TextAlignment = columnVm.Alignment;
dataCell.VerticalAlignment = RadVerticalAlignment.Center;
var paragraph =
new
Paragraph();
paragraph.TextAlignment = columnVm.Alignment;
dataCell.Blocks.Add(paragraph);
dataCell.Background = columnVm.DynamicCellData.Background;
var tb =
new
TextBlock
{
Text = columnVm.Expression,
Tag =
string
.Format(
"{0}{1}"
, DynamicTableCommon.DynamicTable.TABLE_TAG_ID_PREFIX, columnVm.DynamicCellData.TableID.ToString()),
FontSize = columnVm.DynamicCellData.FontSize,
Background =
new
SolidColorBrush(columnVm.DynamicCellData.Background),
Foreground =
new
SolidColorBrush(columnVm.DynamicCellData.Foreground),
FontFamily = columnVm.DynamicCellData.FontFamily,
FontWeight = columnVm.DynamicCellData.FontWeight,
FontStyle = columnVm.DynamicCellData.FontStyle,
TextDecorations = columnVm.DynamicCellData.TextDecoration
};
tb.VerticalAlignment = VerticalAlignment.Bottom;
tb.HorizontalAlignment = PlaceHolderReplaceManager.ConvertRadTextAlignmentToHorAlignment(columnVm.Alignment);
System.Windows.Controls.Border border =
new
System.Windows.Controls.Border();
border.BorderThickness =
new
Thickness(0);
border.BorderBrush = Brushes.Transparent;
border.Background =
new
SolidColorBrush(columnVm.DynamicCellData.Background);
border.VerticalAlignment = VerticalAlignment.Center;
border.HorizontalAlignment = HorizontalAlignment.Center;
border.Child = tb;
border.Measure(
new
Size(Double.PositiveInfinity, Double.PositiveInfinity));
Size s =
new
Size(border.DesiredSize.Width + 1, tb.DesiredSize.Height - 1);
var uic =
new
DynamicCellInlineUIContainer(border, s);
paragraph.Tag = columnVm.DynamicCellData.TableID.ToString();
paragraph.Inlines.Add(uic);
cellHeight = uic.Height + 10;
return
cellHeight;
}
<telerik:RadSplitContainer InitialPosition="FloatingOnly" telerik:RadDocking.FloatingLocation="250, 50" MinWidth="150" MinHeight="150"> <telerik:RadPaneGroup > <telerik:RadPane CanDockInDocumentHost="False" CanUserClose="True" x:Name="paneZoom" |
Header="Zoom" IsHidden="{Binding DisplayZoom, Mode=TwoWay}"> |