3
我有一个自定义的WPF控件MyLine,它应该在中间代表一些文本。在WPF形状中添加一些文本
public class MyLine : Shape
{
public double X1, Y1, X2, Y2;
public bool IsTextDisplayed;
public string Caption;
protected override System.Windows.Media.Geometry DefiningGeometry
{
get
{
var geometryGroup = new GeometryGroup();
if (IsTextDisplayed)
{
// calculate text point
var midPoint = new Point((X1 + X2)/2.0, (Y1 + Y2)/2.0);
// add 'Caption' text in that point
// ???
}
// Add line
geometryGroup.Children.Add(new LineGeometry(
new Point(X1, Y1), new Point(X2, Y2)));
return geometryGroup;
}
}
}
那么,我应该如何在这里添加文本?
我唯一的问题是,我的字体画有相同的“刷”的行...如果线宽2或3的文本是不可读的... – serhio 2010-11-15 12:26:12
我可以添加一个textBlock或类似的东西吗? – serhio 2010-11-15 12:34:57
@serhio你有没有想过一种方法来使用不同的笔刷文本?我正在使用这个问题和批准的答案来解决我遇到的同样的问题。看起来像Shape和Text在同一个GeometryGroup中是不可能的。 – Corpsekicker 2011-10-31 07:52:29