c# - 如何在 WPF 中向形状添加文本

标签 c# .net wpf

我正在 WPF 窗口上绘制 Circle。问题是我无法将 Text 添加到 Circle。代码如下:

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;
}

请在这方面帮助我。

最佳答案

Shapes 只是简单的形状,如果你想添加文本,然后将形状和带有文本的 TextBlock 添加到一个公共(public)容器中,将它们放在彼此之上,例如没有行或列的 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" });

关于c# - 如何在 WPF 中向形状添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16386680/

相关文章:

c# - 组织执行测试的方法 - C#

c# - 如何将 SaveAs Dialog 结果传递给 RelayCommand?

c# - CancellationToken.ThrowOperationCanceledException异常

c# - 使用 MVVM 将 RichTextBox 的内容保存到文件

c# - 触发内容模板

c# - 依赖注入(inject)和 HttpContext.Current?如何使这个类可测试?

c# - 根据列表 C# 中项目的第一个和最后一个字符区分

c# - 任务中的 ShowDialog 方法

C# 发送 HTML 和文本电子邮件 - 最优雅?

.net - 在不同的项目中将 C# 调试为 Intel C++