3

我希望 Width 属性动态扩展直到达到 150,在此之后,用户应该能够通过拖动进一步扩展它(MaxWidth 不允许这样做)。

Width="150*"

具有类似的功能,但方向相反(最小宽度并根据需要扩展)。我想要“按需扩展”和最大扩展宽度。

有什么方法可以使用 XAML 来完成吗?

4

2 回答 2

0

您可以根据项目的大小以编程方式设置宽度。把宽度绑定到aGridLength然后就可以让用户控制了,也可以自己控制最大150

private GridLength _marquee1Width = new GridLength(150, GridUnitType.Pixel);

您可以将其设置为GridUnitType.Pixel, GridUnitType.Auto, 或GridUnitType.Star

于 2012-05-31T20:09:12.407 回答
0

在您希望用户能够拖动的边缘上放置一条线。将该行上的 Cursor 属性设置为“SizeWE”,以便用户知道他可以拖动它。从该行开始,处理鼠标按下、鼠标移动和鼠标向上事件。在 MouseDown 中,从行控件调用 CaptureMouse() 并保存鼠标位置。在鼠标移动时,获取新的鼠标位置,计算从鼠标向下位置的变化,并将您约束的控件的宽度增加到 150,乘以鼠标向右移动的量,然后重置原始鼠标位置到当前鼠标位置。在 MouseUp 上,从线路控件调用 ReleaseMouse()。

希望这可以帮助。

于 2012-05-07T14:25:49.323 回答