- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 WPF 控件。
我需要在 wpf 控件中绘制类似下面的内容。
在调整控件大小时,十字应该跟随它的大小吗?我还必须输入如下字母。通过绑定(bind)到 viewmodel 属性,我应该能够以编程方式设置前景和背景。
最佳答案
如果您使用 Path
,则十字架本身很简单。绘制线条/箭头。使用 ViewBox
缩放到容器大小:
<Viewbox>
<Grid Width="100" Height="100">
<TextBlock Text="N" HorizontalAlignment="Left" VerticalAlignment="Center" />
<TextBlock Text="S" HorizontalAlignment="Right" VerticalAlignment="Center" />
<TextBlock Text="E" VerticalAlignment="Top" HorizontalAlignment="Center" />
<TextBlock Text="W" VerticalAlignment="Bottom" HorizontalAlignment="Center"/>
<Path Stroke="Black" StrokeThickness="1"
Data="M 15,50 L 85,50 M 80,45 L 85,50 M 80 55 L 85,50"
/>
<Path Stroke="Black" StrokeThickness="1"
Data="M 50,15 L 50,85 M 45,80 L 50,85 M 55 80 L 50,85"
/>
</Grid>
</Viewbox>
UserControl
中.这已经具有 Foreground/Background 的属性,因此只需绑定(bind)到它们。在控件内部,使用
RelativeSource
绑定(bind):
<UserControl x:Class="MyProject.Controls.Compass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid x:Name="LayoutRoot"
Background="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=Background}">
<Viewbox>
<Grid Width="100" Height="100">
<TextBlock Text="N" HorizontalAlignment="Left" VerticalAlignment="Center"
Foreground="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=Foreground}" />
<TextBlock Text="S" HorizontalAlignment="Right" VerticalAlignment="Center"
Foreground="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=Foreground}" />
<TextBlock Text="E" VerticalAlignment="Top" HorizontalAlignment="Center"
Foreground="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=Foreground}" />
<TextBlock Text="W" VerticalAlignment="Bottom" HorizontalAlignment="Center"
Foreground="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=Foreground}" />
<Path Stroke="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=Foreground}" StrokeThickness="1"
Data="M 15,50 L 85,50 M 80,45 L 85,50 M 80 55 L 85,50" />
<Path Stroke="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=Foreground}" StrokeThickness="1"
Data="M 50,15 L 50,85 M 45,80 L 50,85 M 55 80 L 50,85" />
</Grid>
</Viewbox>
</Grid>
</UserControl>
Brush
类型属性,名为“Foreground”和“Background”):
<controls:Compass Foreground="{Binding Foreground}" Background="{Binding Background}"/>
关于c# - 怎么画十字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21491656/
我想以 headless 模式(屏幕上根本没有 GUI)将 JPanel 绘制到 BufferedImage 中。 final JPanel panel = createPanel(); panel.
我是 Canvas 的新手,正在尝试创建看起来逼真的 float 粒子动画。 目前,我正在创建 400 个随机散布在 400x400 Canvas 上的粒子。 然后,在每个 requestAnimat
有没有办法在悬停时停止悬 float 画? :hover 这是一个显示动画的链接: https://codepen.io/youbiteme/pen/RprPrN 最佳答案 只需为您的 svg 悬停添
我想在谷歌地图上绘制覆盖图,其中除了特定点周围 1.5 公里半径以外的所有内容都被遮蔽了。为此,我尝试使用带有大量边框的圆圈,所以我会在边框中放置透明中心和覆盖颜色来实现这一点,但它无法渲染。
我正在尝试通过扩展类 UIView 来创建自定义 View ,该类可以在自定义 View 的中心显示一个圆圈。为了添加自定义绘图,我重写了 draw(_ rect: CGRect) 方法,如下所示。
我是一名优秀的程序员,十分优秀!