如何解决WPF C# 图像控件在 540 像素以下被剪切/消失
由于某种原因,图像控件不显示低于 540 像素
如果图像控件上边距低于窗口的 540 像素,它就会消失 如果它低于那么它会减少到 540 像素以下
找不到任何解决方案
C# 代码
TimeZoneInfo newyorkZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
double time44 = Convert.ToDouble(TimeZoneInfo.ConvertTime(DateTime.Now,newyorkZone).ToString("HH"));
if (time44 >= 12) time44 = time44 - 12;
double time444 = Convert.ToDouble(TimeZoneInfo.ConvertTime(DateTime.Now,newyorkZone).ToString("mm"));
double time44rad = (time44 * 360 / 12) * Math.PI / 180 - Math.PI / 2;
double time444rad = (time444 * 360 / 60) * Math.PI / 180 - Math.PI / 2;
double xtime444 = 125 + 125 * Math.Cos(time444rad);
double ytime444 = 125 + 125 * Math.Sin(time444rad);
xtime44 = Math.Round(xtime44,0);
int xitime44 = Convert.ToInt32(xtime44);
ytime44 = Math.Round(ytime44,0);
int yitime44 = Convert.ToInt32(ytime44);
xtime444 = Math.Round(xtime444,0);
int xitime444 = Convert.ToInt32(xtime444);
ytime444 = Math.Round(ytime444,0);
int yitime444 = Convert.ToInt32(ytime444);
int xi = 125;
int yi = 125;
GeometryGroup clock4 = new GeometryGroup();
clock4.Children.Add(new EllipseGeometry(new Point(xi,yi),125,125));
clock4.Children.Add(new LineGeometry(new Point(xi,new Point(xitime44,yitime44)));
clock4.Children.Add(new LineGeometry(new Point(xi,new Point(xitime444,yitime444)));
Pen pen = new Pen(Brushes.Red,3);
GeometryDrawing aGeometryDrawing4 = new GeometryDrawing();
aGeometryDrawing4.Geometry = clock4;
aGeometryDrawing4.Pen = pen;
DrawingGroup aDrawingGroup4 = new DrawingGroup();
aDrawingGroup4.Children.Add(aGeometryDrawing4);
DrawingImage geometryImage4 = new DrawingImage(aDrawingGroup4);
geometryImage4.Freeze();
cap4time.Source = geometryImage4;
XML
<Image x:Name="cap1time" Margin="100,50" Width="250" Height="250" HorizontalAlignment="Left"
VerticalAlignment="Top" Grid.ColumnSpan="1" Stretch="UniformToFill" />
<Image x:Name="cap3time" Margin="100,500" Width="250" Height="250" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.ColumnSpan="1" Stretch="UniformToFill" />
<Image x:Name="cap4time" Margin="600,500" Width="250" Height="250" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.ColumnSpan="1" Stretch="UniformToFill" />
<Image x:Name="cap2time" Margin="600,50" Width="250" Height="250" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.ColumnSpan="1" Stretch="UniformToFill" />
解决方法
感谢 Peregrine
<Grid Grid.ColumnSpan="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="500"/>
<ColumnDefinition Width="1320"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="500"/>
<RowDefinition Height="530"/>
</Grid.RowDefinitions>
<Image x:Name="cap1time" Width="250" Height="250" HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="UniformToFill" Grid.Column="1" Grid.Row="1" />
<Image x:Name="cap2time" Width="250" Height="250" HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="UniformToFill" Grid.Column="2" Grid.Row="1" />
<Image x:Name="cap3time" Width="250" Height="250" HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="UniformToFill" Grid.Column="1" Grid.Row="2"/>
<Image x:Name="cap4time" Width="250" Height="250" HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="UniformToFill" Grid.Column="2" Grid.Row="2" />
</Grid>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。