如何在WPF中的ViewBox和图像之间添加水平按钮行?
我试图在图像和视图框之间的窗体顶部添加一行水平按钮,但当我添加按钮时,它会填充图像。我尝试添加一个网格来包含按钮,但这填充了图像元素。有人知道我如何做到这一点吗 我相信一定有一个快速解决办法,有人能解释一下为什么会发生这种情况吗?我通常使用设计器,但我认为在这种情况下,我应该更好地理解xaml元素和属性 以下是我定义窗口布局的方式:如何在WPF中的ViewBox和图像之间添加水平按钮行?,wpf,xaml,button,Wpf,Xaml,Button,我试图在图像和视图框之间的窗体顶部添加一行水平按钮,但当我添加按钮时,它会填充图像。我尝试添加一个网格来包含按钮,但这填充了图像元素。有人知道我如何做到这一点吗 我相信一定有一个快速解决办法,有人能解释一下为什么会发生这种情况吗?我通常使用设计器,但我认为在这种情况下,我应该更好地理解xaml元素和属性 以下是我定义窗口布局的方式: <Window x:Class="KinectKickboxingBVversion1.ConditioningFrm" xmlns="htt
<Window x:Class="KinectKickboxingBVversion1.ConditioningFrm"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ConditioningFrm" Height="377.612" Width="637.313">
<Grid>
<Viewbox Grid.Row="1" Stretch="Uniform" HorizontalAlignment="Center">
<Image Name="Image" Width="640" Height="250"/>
</Viewbox>
</Grid>
</Window>
如果要将其放置在窗体顶部而不进行缩放,请执行以下操作:
<Window x:Class="KinectKickboxingBVversion1.ConditioningFrm"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ConditioningFrm" Height="377.612" Width="637.313">
<Grid>
<Grid.RowDefinitions>
<RowDefintion Height="Auto" />
<RowDefintion Height="*" />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0">
<Button Content="1"/>
<Button Content="2"/>
<Button Content="2"/>
</StackPanel>
<Viewbox Grid.Row="1" Stretch="Uniform" HorizontalAlignment="Center">
<Image Name="Image" Width="640" Height="250"/>
</Viewbox>
</Grid>
</Window>
<Window x:Class="KinectKickboxingBVversion1.ConditioningFrm"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ConditioningFrm" Height="377.612" Width="637.313">
<Viewbox Stretch="Uniform" HorizontalAlignment="Center">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<Button Content="1"/>
<Button Content="2"/>
<Button Content="2"/>
</StackPanel>
<Image Name="Image" Width="640" Height="250"/>
</StackPanel>
</Viewbox>
</Window>
添加stackpanel,将方向设置为水平。在图像和viewbox之间?在编写它之前,您需要了解XAML。你不能把它放在视图框和图像之间。那么我将把stackpanel放在代码中的什么地方?好的,那么stackpanel必须在视图框之外,你能解释一下为什么吗?一个
ViewBox
只能存储一个孩子。我将进行编辑,向您展示如何将其添加到Viewbox中,一秒钟好吧,有趣的是,我在上一个示例中还注意到,WPF中不支持RowDefinition,是否有其他选择?抱歉,上一个示例没有网格,因此不应设置网格。一旦实现第二个示例,我还有一个问题,当我运行应用程序时,图像没有显示,有什么原因吗?
<Window x:Class="KinectKickboxingBVversion1.ConditioningFrm"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ConditioningFrm" Height="377.612" Width="637.313">
<Viewbox Stretch="Uniform" HorizontalAlignment="Center">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<Button Content="1"/>
<Button Content="2"/>
<Button Content="2"/>
</StackPanel>
<Image Name="Image" Width="640" Height="250"/>
</StackPanel>
</Viewbox>
</Window>
KinectVideo.Source = BitmapSource.Create(colorFrame.Width, colorFrame.Height, 96, 96,
PixelFormats.Bgr32, null, colorData, colorFrame.Width * colorFrame.BytesPerPixel)