WPF:按钮宽度不能更小

时间:2016-12-12 01:33:18

标签: wpf windows xaml button width

在我的WPF应用程序的一个窗口中,无论我做什么,按钮宽度都不能更改为更小的尺寸。我尝试改变" width"的属性。在xaml中,拖动设计器中的按钮,或者使用c#实际更改它。即使我在该窗口中创建了一个新按钮,宽度也只能更改为更大的尺寸,但不能更改为更小的尺寸。虽然没有错误或警告,但没有一种方法可以成功地改变宽度。奇怪的是,我可以通过拖动轻松地更改按钮的高度,在我的另一个窗口中,我可以轻松地更改按钮的宽度和高度。我对所有窗口中的所有按钮使用相同的样式。如果我拖动按钮,除非我解锁了一个小工具,否则将无法响应它。#34; knot"围绕它,但它看起来像这样:

enter image description here

唯一的问题是我为这个窗口使用了通知模板,并且有一些动画效果。但我没有看到它和其他人之间有任何重大差异。这是XAML代码:

<Window x:Class="Timebreak.NotiWindow"
    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"
    xmlns:local="clr-namespace:Timebreak"
    mc:Ignorable="d"
    Title="TimeBreak" Height="450" Width="450"
    WindowStyle="None" AllowsTransparency="True" Opacity="0.7" Background="#f9f9ff"
    WindowStartupLocation="Manual" Left="0" Top="0">

<Grid>
    <Button x:Name="button1" Content="OK" Margin="358,341,13,72" Click="Submit_Click" FontSize="16" VerticalAlignment="Top" HorizontalAlignment="Left"/>
    <RadioButton x:Name="radioButton" Content="Yes. I want to stand up and take a break for (minutes)" HorizontalAlignment="Left" Height="26" Margin="31,105,0,0" VerticalAlignment="Top" Width="368" Checked="radioButton_Checked" FontSize="14"/>
    <RadioButton x:Name="radioButton1" Content="No. I don't want to stand up and take a break because" HorizontalAlignment="Left" Margin="31,206,0,0" VerticalAlignment="Top" FontSize="14" Checked="radioButton1_Checked"/>
    <Slider x:Name="slider" HorizontalAlignment="Left" Height="23" Margin="40,136,0,0" VerticalAlignment="Top" Width="374" IsSnapToTickEnabled="True" ValueChanged="slider_ValueChanged" Maximum="30" Minimum="1" Cursor="Hand" AutoToolTipPlacement="TopLeft" Interval="29" IsMoveToPointEnabled="True" TickPlacement="BottomRight"/>

    <!-- Animation -->
    <Grid.Triggers>
        <EventTrigger RoutedEvent="FrameworkElement.Loaded">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)">
                        <SplineDoubleKeyFrame KeyTime="0:0:0" Value="0"/>
                        <SplineDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/>
                    </DoubleAnimationUsingKeyFrames>
                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)">
                        <SplineDoubleKeyFrame KeyTime="0:0:2" Value="1"/>
                        <SplineDoubleKeyFrame KeyTime="0:0:4" Value="1"/>
                    </DoubleAnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Grid.Triggers>

    <Grid.RenderTransform>
        <ScaleTransform ScaleY="1" />
    </Grid.RenderTransform>

</Grid>

有关于它的想法吗?提前谢谢!

1 个答案:

答案 0 :(得分:2)

  

有关于它的想法吗?

您忘记发布您正在使用的自定义Style的标记,但您可以尝试将Button的 Min Width属性设置为0:

{
    entry: ['react', 'foo', 'bar', './ours/a', './ours/b']
}

如果仍无法增加按钮的宽度,请发布XAML标记和代码的所有相关部分。