有没有办法使用 XAML 将值绑定到控件的绝对位置?
我有一个Line
元素,我想Button
在我的应用程序中的两个 s 之间绘制。我在想将 的起点绑定Line
到 的位置Button
将是实现这一点的最简单方法,使用RelativeSource
某种方式。
有没有办法使用 XAML 将值绑定到控件的绝对位置?
我有一个Line
元素,我想Button
在我的应用程序中的两个 s 之间绘制。我在想将 的起点绑定Line
到 的位置Button
将是实现这一点的最简单方法,使用RelativeSource
某种方式。
看来你想要这样的东西:
<UserControl x:Class="PracticeSample.MyButton"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Button x:Name="button" Content="Add" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Line Stroke="Black" X1="0" Y1="0" HorizontalAlignment="Center" X2="{Binding ElementName=button, Path=ActualWidth}" Y2="{Binding ElementName=button, Path=ActualHeight}"/>
</Grid>
在您的页面中使用此 MyButton 代替 Button,
编辑:如果您想在两个控件之间画线,请不要使用上面的代码示例,而是直接在您的页面中尝试:
<Canvas HorizontalAlignment="Left" Margin="10">
<Button x:Name="button2" Content="Add" Canvas.Left="10" Canvas.Top="5"/>
<Button Name="button" Content="Refresh Control" Canvas.Left="100" Canvas.Top="50"/>
<Line Stroke="Black" X1="{Binding Path=(Canvas.Left),ElementName=button2}" Y1="{Binding Path=(Canvas.Top), ElementName=button2}" X2="{Binding (Canvas.Left), ElementName=button}" Y2="{Binding (Canvas.Top), ElementName=button}"/>
</Canvas>
希望这可以帮助!
定义一个带有 Button 和 Line 的模板,放置在您喜欢的任何位置,然后在 Button 的位置使用此模板。