WPF怎么画成这样
WPF how to draw this way
我必须让这段文字可以翻译。文本周围的圆圈应自动调整大小。例如:在英语中它可能是 Done - 4 个字母,在西班牙它可能是 7 个字母。
假设您有办法访问这个说话气泡对象,您只需将宽度和高度设置为您需要的宽度和高度,让文本适合它并添加适当的填充。
之前已经回答过如何测量文字的大小:
编辑:
因此,要进行实际绘图,您本质上需要一个椭圆和一些文本。
一种方法是在您的 canvas.
中添加类似这样的内容
<Canvas>
<Viewbox Name="viewbox" Width="100" Height="100">
<Grid Name="grow" Width="100" Height="100">
<Ellipse Fill="LightGray" Stroke="Black"/>
<TextBlock Name="ThatsWhatHeSaid" HorizontalAlignment="Center" FontSize="48" FontWeight="Bold" Foreground="LightSkyBlue" Text="" TextAlignment="Center" VerticalAlignment="Center" />
</Grid>
</Viewbox>
然后在你的代码隐藏中添加前面提到的MeasureString,并处理文本变化的情况。
ThatsWhatHeSaid.Text += "it grows larger";
Size mySize = MeasureString(ThatsWhatHeSaid.Text);
const int padding = 100;
grow.Width = mySize.Width + padding;
grow.Height = mySize.Height + padding;
viewbox.Width = grow.Width;
viewbox.Height = grow.Height;
你尝试过吗?不尝试使用就很难提供帮助。
如果您真的不知道从哪里开始,我建议对除对话泡泡之外的所有内容都使用图像,并使用 Canvas 和 Ellipse 使用绑定绘制椭圆形,如上述建议。
我必须让这段文字可以翻译。文本周围的圆圈应自动调整大小。例如:在英语中它可能是 Done - 4 个字母,在西班牙它可能是 7 个字母。
假设您有办法访问这个说话气泡对象,您只需将宽度和高度设置为您需要的宽度和高度,让文本适合它并添加适当的填充。
之前已经回答过如何测量文字的大小:
编辑:
因此,要进行实际绘图,您本质上需要一个椭圆和一些文本。
一种方法是在您的 canvas.
中添加类似这样的内容<Canvas>
<Viewbox Name="viewbox" Width="100" Height="100">
<Grid Name="grow" Width="100" Height="100">
<Ellipse Fill="LightGray" Stroke="Black"/>
<TextBlock Name="ThatsWhatHeSaid" HorizontalAlignment="Center" FontSize="48" FontWeight="Bold" Foreground="LightSkyBlue" Text="" TextAlignment="Center" VerticalAlignment="Center" />
</Grid>
</Viewbox>
然后在你的代码隐藏中添加前面提到的MeasureString,并处理文本变化的情况。
ThatsWhatHeSaid.Text += "it grows larger";
Size mySize = MeasureString(ThatsWhatHeSaid.Text);
const int padding = 100;
grow.Width = mySize.Width + padding;
grow.Height = mySize.Height + padding;
viewbox.Width = grow.Width;
viewbox.Height = grow.Height;
你尝试过吗?不尝试使用就很难提供帮助。
如果您真的不知道从哪里开始,我建议对除对话泡泡之外的所有内容都使用图像,并使用 Canvas 和 Ellipse 使用绑定绘制椭圆形,如上述建议。