绑定WPF自定义控件宽度/高度&动态调整价值

时间:2012-09-20 19:30:12

标签: wpf binding user-controls wpf-controls

我有一个由以下XAML定义的自定义UserControl:

<Grid HorizontalAlignment="Left" VerticalAlignment="Top">
    <Ellipse Height="100" Width="100" StrokeThickness="1" Stroke="Black" Fill="Transparent" Opacity="0.7" />
    <Ellipse Height="98" Width="98" StrokeThickness="10" Stroke="White" Fill="Transparent" Opacity="0.5" />
    <Ellipse Height="80" Width="80" StrokeThickness="1" Stroke="Black" Fill="Transparent" Opacity="0.7" />

    <Line StrokeThickness="10" Stroke="Black" X1="33" Y1="33" X2="66" Y2="50" StrokeStartLineCap="Round" StrokeEndLineCap="Round" />
    <Line StrokeThickness="10" Stroke="Black" X1="33" Y1="66" X2="66" Y2="50" StrokeStartLineCap="Round" StrokeEndLineCap="Round" />
</Grid>

如您所见,我目前定义的是固定的宽度和高度。我想要做的是当我将此控件放在不同的XAML文件中时,可以定义此宽度和高度。例如:

<Grid>
    <MyCustomControl Width="100" Height="100" />
    <MyCustomControl Width="75" Height="150" />
</Grid>

我知道我可以从自定义控件绑定回这些值,但是我很困惑的是考虑所有数学来调整小椭圆和中间的线的位置。

我可以在XAML中执行此操作(例如,Width="{Binding Width}-2")还是需要在代码中绘制省略号和行?

0 个答案:

没有答案