1

我正在使用 Kinect SDK KinectCircleButton 开发 WPF 接口。特别是,我必须用可变数量的 KinectCircleButton 动态填充网格。问题在于,由于按钮的标签长度​​可变,因此它会使按钮呈现不同的大小,从而调整它们的尺寸以填充可用空间。我不能使用绝对定位或大小,所以属性“宽度”和“高度”设置为“自动”。我只是想让文本适应可用空间(缩放或分成两行),但同时每个圆圈的大小都相同。

为了清楚起见,我附上了我当前 GUI 的屏幕截图: 我的GUI

使用以下 XAML 代码定义:

<Grid Grid.Column="1" Name="ButtonsGrid">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="33*" />
                <ColumnDefinition Width="33*" />
                <ColumnDefinition Width="33*" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="50*"/>
                <RowDefinition Height="50*"/>
            </Grid.RowDefinitions>

            <k:KinectCircleButton Name="CategoryButton1" Margin="10" Foreground="{x:Static c:Constants.TEXT_COLOR}" Width="auto" Height="auto" Grid.Column="0" Grid.Row="0" FontFamily="SansSerif" FontSize="48" FontWeight="SemiBold"/>
            <k:KinectCircleButton Name="CategoryButton2" Margin="10" Foreground="{x:Static c:Constants.TEXT_COLOR}" Width="auto" Height="auto" Grid.Column="1" Grid.Row="0" FontFamily="SansSerif" FontSize="48" FontWeight="SemiBold"/>
            <k:KinectCircleButton Name="CategoryButton3" Margin="10" Foreground="{x:Static c:Constants.TEXT_COLOR}" Width="auto" Height="auto" Grid.Column="2" Grid.Row="0" FontFamily="SansSerif" FontSize="48" FontWeight="SemiBold"/>
            <k:KinectCircleButton Name="CategoryButton4" Margin="10" Foreground="{x:Static c:Constants.TEXT_COLOR}" Width="auto" Height="auto" Grid.Column="0" Grid.Row="1" FontFamily="SansSerif" FontSize="48" FontWeight="SemiBold"/>
            <k:KinectCircleButton Name="CategoryButton5" Margin="10" Foreground="{x:Static c:Constants.TEXT_COLOR}" Width="auto" Height="auto" Grid.Column="1" Grid.Row="1" FontFamily="SansSerif" FontSize="48" FontWeight="SemiBold"/>
            <k:KinectCircleButton Name="CategoryButton6" Margin="10" Foreground="{x:Static c:Constants.TEXT_COLOR}" Width="auto" Height="auto" Grid.Column="2" Grid.Row="1" FontFamily="SansSerif" FontSize="48" FontWeight="SemiBold"/>
        </Grid>

如您所见,第一个按钮比其他按钮大,因此目标是所有按钮的大小相同。

4

0 回答 0