Silverlight 4.0 silverlight垂直进度条

Silverlight 4.0 silverlight垂直进度条,silverlight-4.0,progress-bar,rotatetransform,Silverlight 4.0,Progress Bar,Rotatetransform,我想不出我做错了什么。我有一个Usercontrol,它有一个垂直进度条,下面有一个标签 <UserControl x:Class="IFramedInBrowser.Code" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.

我想不出我做错了什么。我有一个Usercontrol,它有一个垂直进度条,下面有一个标签

<UserControl x:Class="IFramedInBrowser.Code"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" Height="150" Width="15">

    <Grid Width="120" Height="15" >
        <StackPanel Width="120" Height="15" >
            <ProgressBar Grid.Row="0" Value="{Binding Path=Percent}"  Maximum="100" Width="120" Height="15" />
        </StackPanel>
        <TextBlock Grid.Row="1" Height="30" HorizontalAlignment="Left"  Name="textBlock1" Text="{Binding Path=Symbol.Name}" VerticalAlignment="Top" >
            <TextBlock.RenderTransform>
                <RotateTransform Angle="90"/>
            </TextBlock.RenderTransform>
        </TextBlock>
        <Grid.RenderTransform>
                <RotateTransform Angle="-90"/>
        </Grid.RenderTransform> 
        </Grid>
</UserControl>

然后在ItemsControl中使用此usercontrol

<ItemsControl x:Name="HorizontalListBox"  
                      ItemsSource="{Binding Source={StaticResource MyViewModel}, Path=List}" 
                      HorizontalAlignment="Stretch" 
                      HorizontalContentAlignment="Center" Height="150" 
                      >
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal"/>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <my:Code DataContext="{Binding}">

                    </my:Code>
                </DataTemplate>
            </ItemsControl.ItemTemplate>

        </ItemsControl>

它应该看起来像一个钢琴键盘在最后。。。
旋转变换后,进度条将被截断。。。我说了什么?如何解决此问题?

您可以尝试向所有控件添加不同的背景色,以确定控件的大小

另外,SilverlightSpy现在是只读的,您可以在运行时浏览真正的可视化树


无论如何,我建议通过自定义ProgressBar的模板来更改其方向。

这是一个剪辑问题。你到处设置了太多的高度和宽度,弄不清楚哪一个控制着尺寸。此外,列表框中的堆叠在布局上起作用,而旋转变换仅在最终视觉过程中有效,因此它旋转一个剪裁的进度条

您应该遵循jumbo的建议,通过修改模板而不是旋转来创建垂直进度条

如果不想创建模板,则需要删除UserControl中的主网格,并使用画布。画布不会被剪断。它们让你的元素自由浮动,这可能是你想要的