Browse Source

CanGrow

pull/503/head
Peter Forstmeier 11 years ago
parent
commit
a98e6967d8
  1. 14
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/FixedDocumentCreator.cs
  2. 16
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

14
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/FixedDocumentCreator.cs

@ -66,11 +66,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor @@ -66,11 +66,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
FlowDirection flowDirection;
var culture = CultureInfo.CurrentCulture;
if (culture.TextInfo.IsRightToLeft) {
flowDirection = FlowDirection.RightToLeft;
} else {
flowDirection = FlowDirection.LeftToRight;
}
flowDirection = culture.TextInfo.IsRightToLeft ? FlowDirection.RightToLeft : FlowDirection.LeftToRight;
var emSize = ExtensionMethodes.ToPoints((int)exportText.Font.SizeInPoints +1);
@ -81,8 +77,14 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor @@ -81,8 +77,14 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
emSize,
new SolidColorBrush(exportText.ForeColor.ToWpf()), null, TextFormattingMode.Display);
formattedText.MaxTextWidth = ExtensionMethodes.ToPoints(exportText.DesiredSize.Width);
formattedText.MaxTextWidth = exportText.DesiredSize.Width ;
// formattedText.TextAlignment = TextAlignment.Justify;
if (!exportText.CanGrow) {
formattedText.MaxTextHeight = exportText.Size.Height;
} else {
formattedText.MaxTextHeight = ExtensionMethodes.ToPoints(exportText.DesiredSize.Height );
}
ApplyPrintStyles(formattedText,exportText);
return formattedText;

16
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

@ -120,26 +120,22 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor @@ -120,26 +120,22 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
public override void Visit(ExportText exportColumn){
var formattedText = FixedDocumentCreator.CreateFormattedText((ExportText)exportColumn);
var visual = new DrawingVisual();
var location = new Point(exportColumn.Location.X,exportColumn.Location.Y);
using (var dc = visual.RenderOpen()){
var visual = new DrawingVisual();
using (var drawingContext = visual.RenderOpen()){
if (ShouldSetBackcolor(exportColumn)) {
dc.DrawRectangle(FixedDocumentCreator.ConvertBrush(exportColumn.BackColor),
drawingContext.DrawRectangle(FixedDocumentCreator.ConvertBrush(exportColumn.BackColor),
null,
new Rect(location,new Size(exportColumn.Size.Width,exportColumn.Size.Height)));
}
//http://stackoverflow.com/questions/4542717/length-of-string-that-will-fit-in-a-specific-width
// http://stackoverflow.com/questions/9264398/how-to-calculate-wpf-textblock-width-for-its-known-font-size-and-characters
// if (exportColumn.ContentAlignment == System.Drawing.ContentAlignment.MiddleCenter) {
// location = new Point(location.X + (exportColumn.Size.Width - formattedText.Width) /2,location.Y + (exportColumn.Size.Height - formattedText.Height) / 2);
// }
var offset = FixedDocumentCreator.CalculateAlignmentOffset(formattedText,exportColumn);
var newLoc = new Point(location.X + offset.X,location.Y + offset.Y);
// dc.DrawText(formattedText,location);
dc.DrawText(formattedText,newLoc);
drawingContext.DrawText(formattedText,newLoc);
}
var dragingElement = new DrawingElement(visual);
UIElement = dragingElement;

Loading…
Cancel
Save