gpt4 book ai didi

silverlight - 如何测量具有自动高度和宽度的 Canvas

转载 作者:行者123 更新时间:2023-12-04 03:12:50 24 4
gpt4 key购买 nike

我是 Silverlight 的初学者,所以我希望我能得到一个答案,让我在 Silverlight 的测量过程中获得更多信息。

我从 silverlight slide control 发现了一个有趣的襟翼失控
现在我尝试在我的项目中使用它。为了使滑出正常工作,我必须将用户控件放在 Canvas 上。然后,用户控件自己使用其内容的高度。我只是想改变这种行为,以便将高度设置为父 Canvas 的可用空间。

您会看到设置高度的 uxBorder。如何测量实际高度并将其设置为边框?

我用 Height={Binding ElementName=notificationCanvas, Path=ActualHeight} 试过了但是这个依赖属性没有回调,所以actualHeight 永远不会被设置。

我想要实现的是用户控件,例如 Jesse Liberty's blog 上的每个示例的推文板|

对不起,我的英文写作,我希望你能理解我的问题。

<Canvas x:Name="notificationCanvas" Background="Red">
<SlideEffectEx:SimpleSlideControl GripWidth="20" GripTitle="Task" GripHeight="100">
<Border x:Name="uxBorder"
BorderThickness="2"
CornerRadius="5"
BorderBrush="DarkGray"
Background="DarkGray"
Padding="5" Width="300"
Height="700"
>
<StackPanel>
<TextBlock Text="Tasks"></TextBlock>
<Button x:Name="btn1" Margin="5" Content="{Binding ElementName=MainBorder, Path=Height}"></Button>
<Button x:Name="btn2" Margin="5" Content="Second Button"></Button>
<Button x:Name="btn3" Margin="5" Content="Third Button"></Button>
<Button x:Name="btn1_Copy" Margin="5" Content="First Button"/>
<Button x:Name="btn1_Copy1" Margin="5" Content="First Button"/>
<Button x:Name="btn1_Copy2" Margin="5" Content="First Button"/>
<Button x:Name="btn1_Copy3" Margin="5" Content="First Button"/>
<Button x:Name="btn1_Copy4" Margin="5" Content="First Button"/>
<Button x:Name="btn1_Copy5" Margin="5" Content="First Button"/>
<Button x:Name="btn1_Copy6" Margin="5" Content="First Button"/>
</StackPanel>
</Border>
</SlideEffectEx:SimpleSlideControl>

最佳答案

嘿 - 有几件事:

  • 我猜这只是一个错字,但是:“{Binding ElementName=MainBorder, Path=Height}”应该是“{Binding ElementName=uxBorder, Path=Height}”(或 ActualHeight)
  • SlideEffect 似乎设置了一个剪辑几何体,这将影响它看起来有多大
    RectangleGeometry clipRect = new RectangleGeometry();clipRect.Rect = new Rect(0, 0, panel.ActualWidth, host.Height);host.Clip = clipRect;

  • 如果您从滑动控件中注释掉以上几行,您应该会看到面板看起来有多大的明显变化。

    关于silverlight - 如何测量具有自动高度和宽度的 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2469623/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com