2013-05-05 49 views
6

我在WPF窗口上绘制Circle。问题是我无法将Text添加到Circle。代码如下:如何将文本添加到WPF中的形状

public Graphics() 
{ 
    InitializeComponent(); 

    StackPanel myStackPanel = new StackPanel(); 
    Ellipse myel = new Ellipse(); 
    SolidColorBrush mscb = new SolidColorBrush(); 
    mscb.Color = Color.FromArgb(255, 255, 0, 0); 
    myel.Fill = mscb; 
    myel.StrokeThickness = 2; 
    myel.Stroke = Brushes.Black; 
    myel.Width = 100; 
    myel.Height = 100; 
    //string str = "hello"; 
    myStackPanel.Children.Add(myel); 
    this.Content = myStackPanel; 
} 

请在这方面帮助我。

+4

首先我建议移动所有以XAML的... – 2013-05-05 16:39:45

+0

@ H.B。你知道任何方式来添加文字到圈子,顺便说一句,我必须控制它彻底的C#代码作为它的必要性。 P.S:当谈到XML时,我不是很舒服! :-) – 2013-05-05 16:41:35

+0

这怎么可能是必要的? (也不要问人们在评论中给出问题的答案......) – 2013-05-05 16:44:34

回答

12

形状只是形状,如果要添加文本,则将形状和带有文字的TextBlock添加到将它们放置在彼此顶部的常用容器上。没有行或列的Grid

在XAML:

<Grid> 
    <Ellipse Width="100" .../> 
    <TextBlock Text="Lorem Ipsum"/> 
</Grid> 

C#

var grid = new Grid(); 
grid.Children.Add(new Ellipse { Width = 100, ... }); 
grid.Children.Add(new TextBlock { Text = "Lorem Ipsum" }); 
+0

先生, 您能否为我提供一个例子?或者你能简单地向我提供代码吗? 我从来没有处理图形之前。 – 2013-05-05 16:43:22