.NET MAUI(.NET 9)中Path控件无法正常显示绘图求助
MAUI Path控件不显示图形的解决方案
你的Path代码逻辑本身是正确的,但在Android模拟器中无法显示图形,核心问题是缺少必要的布局尺寸设置和线条粗细定义,修改以下几点即可解决:
- 给Path控件添加明确的
HeightRequest和WidthRequest:StackLayout会根据子控件内容自适应布局,但矢量图形没有明确尺寸时,容器会将Path压缩到几乎不可见。 - 设置
StrokeThickness属性:默认线条粗细可能过细,即使显示也难以察觉。
修改后的完整代码:
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="_23_Path.MainPage" Title="MainPage"> <ScrollView> <StackLayout> <!-- Example 1--> <Label Text="Example 1" /> <Path Stroke="Black" StrokeThickness="2" HeightRequest="150" WidthRequest="150" Aspect="Uniform" HorizontalOptions="Start"> <Path.Data> <PathGeometry> <PathGeometry.Figures> <PathFigureCollection> <PathFigure IsClosed="True" StartPoint="10,100"> <PathFigure.Segments> <PathSegmentCollection> <LineSegment Point="100,100" /> <LineSegment Point="100,50" /> </PathSegmentCollection> </PathFigure.Segments> </PathFigure> </PathFigureCollection> </PathGeometry.Figures> </PathGeometry> </Path.Data> </Path> </StackLayout> </ScrollView> </ContentPage>
另外,你也可以使用更简洁的Path语法,直接通过Data属性定义路径字符串,效果完全一致:
<Path Stroke="Black" StrokeThickness="2" HeightRequest="150" WidthRequest="150" Aspect="Uniform" HorizontalOptions="Start" Data="M 10 100 L 100 100 L 100 50 Z" />
其中M表示移动到起点,L表示绘制直线,Z表示闭合路径。
内容的提问来源于stack exchange,提问作者S M De Savic
相关产品推荐
相关产品推荐

