Datepicker按钮不会出现

时间:2015-08-29 13:59:27

标签: c# wpf

我正在尝试设计我的WPF窗口的布局以添加一些代码列表项,我需要使用DatePicker,但日历按钮在文本框中不可见。

这是我的网格:

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="35"></RowDefinition>
            <RowDefinition Height="35"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
        </Grid.RowDefinitions>

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="auto"></ColumnDefinition>
            <ColumnDefinition Width="*"></ColumnDefinition>
            <ColumnDefinition Width="auto"></ColumnDefinition>
            <ColumnDefinition Width="*"></ColumnDefinition>
        </Grid.ColumnDefinitions>

        <Label Content="Code" Grid.Column="0" Grid.Row="0" />
        <TextBox Text="{Binding Path=Code}" Grid.Column="1" Grid.Row="0" MinWidth="160" MaxLength="30" MaxWidth="160" />

        <Label Content="Description" Grid.Column="0" Grid.Row="1" />
        <TextBox Text="{Binding Path=Description}" Grid.Column="1" Grid.Row="1" MinWidth="160" MaxLength="120" MaxWidth="160" />

        <Label Content="Valid from" Grid.Column="2" Grid.Row="0" />
        <DatePicker Name="dpValidFrom" VerticalAlignment="Top" Grid.Column="3" Grid.Row="0" />

        <Label Content="Valid to" Grid.Column="2" Grid.Row="1" />
        <DatePicker Name="dpValidTo" VerticalAlignment="Top" Grid.Column="3" Grid.Row="1" />
    </Grid>

在设计模式中,请参阅:

In design mode a see this

但在app中我看到了这个: but in app i see this

有人知道为什么吗? 感谢您的建议

1 个答案:

答案 0 :(得分:1)

我在使用Windows 10 VS 2015时没有任何问题。但是,根据您的屏幕截图,看起来有某种类型的默认MarginPadding。使用此:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="35"></RowDefinition>
        <RowDefinition Height="35"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="auto"></ColumnDefinition>
        <ColumnDefinition Width="*"></ColumnDefinition>
        <ColumnDefinition Width="auto"></ColumnDefinition>
        <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>

    <Grid.Resources>
        <Style TargetType="DatePicker">
            <Setter Property="Margin" Value="0"/>
            <Setter Property="Padding" Value="0"/>
            <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="VerticalAlignment" Value="Stretch"/>
        </Style>
    </Grid.Resources>
    <Label Content="Code" Grid.Column="0" Grid.Row="0" />
    <TextBox Text="{Binding Path=Code}" Grid.Column="1" Grid.Row="0" MinWidth="160" MaxLength="30" MaxWidth="160" />

    <Label Content="Description" Grid.Column="0" Grid.Row="1" />
    <TextBox Text="{Binding Path=Description}" Grid.Column="1" Grid.Row="1" MinWidth="160" MaxLength="120" MaxWidth="160" />

    <Label Content="Valid from" Grid.Column="2" Grid.Row="0" />
    <DatePicker Name="dpValidFrom" Grid.Column="3" Grid.Row="0" />

    <Label Content="Valid to" Grid.Column="2" Grid.Row="1" />
    <DatePicker Name="dpValidTo" Grid.Column="3" Grid.Row="1" />
</Grid>
相关问题