- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 slider 的帮助下调整 Canvas 上的圆圈大小。这个圆圈可以通过我在后面的代码中做的一些拖放操作在 Canvas 上移动,所以它的位置不是固定的。
我已将 slider 的值绑定(bind)到椭圆的高度和宽度。不幸的是,当我使用 slider 时,圆圈的大小会调整,其左上角(实际上是它所在矩形的左上角)在操作过程中保持不变。
我想用它的调整它的大小中心 点在操作过程中保持不变。在 XAML 中是否有一种简单的方法可以做到这一点?顺便说一句,我已经尝试过 ScaleTransform,但它并没有达到我想要的效果。
非常感谢! :-)
简
<Canvas x:Name="MyCanvas">
<!-- this is needed for some adorner stuff I do in code behind -->
<AdornerDecorator Canvas.Left="10"
Canvas.Top="10">
<Ellipse x:Name="myEllipse"
Height="{Binding Path=Value, ElementName=mySlider}"
Width="{Binding Path=Value, ElementName=mySlider}"
Stroke="Aquamarine"
Fill="AliceBlue"
RenderTransformOrigin="0.5 0.5">
<Ellipse.RenderTransform>
<RotateTransform Angle="{Binding Path=Value, ElementName=myRotationSlider}" />
</Ellipse.RenderTransform>
</Ellipse>
</AdornerDecorator>
<Slider x:Name="mySlider"
Maximum="100"
Minimum="0"
Width="100"
Value="10"
Canvas.Left="150"
Canvas.Top="10" />
<Slider x:Name="myRotationSlider"
Maximum="360"
Minimum="0"
Width="100"
Value="0"
Canvas.Left="150"
Canvas.Top="50" />
</Canvas>
最佳答案
您可以通过 ValueConverter 将 Canvas.Left 和 Canvas.Top 绑定(bind)到您的高度和宽度。
具体(编辑):
为 Canvas.Left 和 Canvas.Top 分别创建一个属性并绑定(bind)到这些属性。
存储 Width 和 Heigth 的旧值或旧的 slider 值。
每当 slider 发生变化时,通过减去存储的值来获得增量变化“dx”。
(不要忘记更新存储的值...)
将 dx 添加到 Width 和 Height 属性。
并且,正如 Will 所说,将 dx/2*-1 添加到 Canvas.Left 和 Canvas.Top 属性。
那有意义吗?
关于WPF:调整圆的大小,保持中心点而不是 TopLeft?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3423834/
我想在 slider 的帮助下调整 Canvas 上的圆圈大小。这个圆圈可以通过我在后面的代码中做的一些拖放操作在 Canvas 上移动,所以它的位置不是固定的。 我已将 slider 的值绑定(bi
我关注了其他 stackoverflow 线程并创建了 CAShapeLayer 并将其添加到按钮层。 let bazierPath = UIBezierPath.init(roundedRect:
我是 iOS 开发的新手,我正在尝试创建一个自定义的 UITableViewCell,它有一个背景,我想将左上角和左下角圆化,但它只适用于左上角。 这是我的代码(Swift 3): override
我的问题是,当我为 QPointF 设置值时,当我检查它们的真实值时,我得到了奇怪的值,如 1.32841e+09。当我在 while 循环的第六行打印出来时,我没有得到这些值。 void MainV
大家好, 我需要知道,我如何才能创建渐变色 从 topLeft 到 bottomRight 在 flutter 中的着色器内,如示例 2在这张图片中? 我尝试使用这个迷你着色器代码来做到这一点,但它仍
我想设置 UIButton 的Top/Bottom Left 圆角半径。我怎样才能做到这一点? 如果我使用 button.layer.cornerRadius,它会设置所有的角。 我试过使用 UIBa
我正在尝试创建一个响应式网站(调整浏览器窗口的大小以查看更改),但我无法将这些格子 div 居中。 http://arunmahendrakar.com/ktw/play.html div 是动态创建
我在文档中检查了 MKCoordinateRegion、MKCoordinateSpan 和 MKMapView 的属性,看看是否有办法获取 TopLeft 和 BottomRight Lat Lon
我是一名优秀的程序员,十分优秀!