如何在ViewBox中包含图像时可见?

时间:2014-02-16 16:07:12

标签: c# wpf image viewbox

我添加了一个图片添加到我的布局中,包含在Viewbox中,但是当我运行应用程序时,图像KinectVideo不会显示在屏幕上。

我是否在布局中缺少一个属性,或者我是否重新排列布局中的图像以使其再次可见?

这是我定义布局的方式:

<Window x:Class="BVversion1.ConditioningFrm"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ConStackPanelditioningFrm"  Height="377.612" Width="637.313">
    <Viewbox Stretch="Uniform" HorizontalAlignment="Center">
        <StackPanel Orientation="Vertical">
            <StackPanel Orientation="Horizontal">   
             <Button x:Name="pushUpBtn" Content="Push Ups" Width="100" Click="pushUpBtn_Click"/>
             <Button x:Name="burpeeBtn" Content="Burpee" Width="100" Click="burpeeBtn_Click"/>
             <Button x:Name="squatBtn" Content="Squat" Width="100" Click="squatBtn_Click"/>
             <Button x:Name="coreBtn" Content="Core" Width="100" Click="coreBtn_Click"/>    
            </StackPanel>
            <Image x:Name="KinectVideo" Width="640" Height="250" Visibility="Visible"/>
            <Button x:Name="homeBtn" Content="Home" Width="75" Click="homeBtn_Click"/>
        </StackPanel>
    </Viewbox>
</Window>

将图像源设置为位图:

KinectVideo.Source = BitmapSource.Create(colorFrame.Width, colorFrame.Height, 96, 96,
                    PixelFormats.Bgr32, null, colorData, colorFrame.Width * colorFrame.BytesPerPixel)

1 个答案:

答案 0 :(得分:1)

我用KinectVideo.Source = new BitmapImage(new Uri(“http://www.gravatar.com/avatar/ccac9a107581b343e832a2b040278b98?s=128&d=identicon&r=PG”,UriKind.RelativeOrAbsolute))进行了测试;因为我们没有你的colorData,它对我很有用。