DoubleUpDown自定义样式wpf

时间:2015-10-29 11:38:28

标签: c# wpf

我想像示例一样为doubleupdown按钮制作自定义样式。 示例:enter image description here 我有什么enter image description here 主要问题是<RepeatButton x:Name="PART_IncreaseButton" Grid.Row="0" IsTabStop="{TemplateBinding IsTabStop}" Style="{StaticResource CustomRepeatButtonStyle}"/>在点击它时为什么没有响应?

我的Xaml代码怪胎:

    <Window.Resources>
    <Style x:Key="CustomRepeatButtonStyle" TargetType="{x:Type RepeatButton}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type RepeatButton}">
                    <Grid x:Name="customgrid" Background="White">
                        <Polygon x:Name="custompolygon" Points="1,11 6,1 11,11" Fill="SkyBlue" VerticalAlignment="Center" HorizontalAlignment="Center">
                        </Polygon>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="true">
                            <Setter TargetName="custompolygon" Property="Fill" Value="black"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <Style x:Key="CustomDoubleUpDownStyle" TargetType="{x:Type xctk:DoubleUpDown}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type xctk:DoubleUpDown}">
                    <Border BorderThickness="1" BorderBrush="Purple">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="0.3*"/>
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                            <Grid Grid.Column="0">
                                <Grid.RowDefinitions>
                                    <RowDefinition/>
                                    <RowDefinition/>
                                </Grid.RowDefinitions>
                                <RepeatButton x:Name="PART_IncreaseButton" Grid.Row="0" IsTabStop="{TemplateBinding IsTabStop}" Style="{StaticResource CustomRepeatButtonStyle}"/>
                                <RepeatButton x:Name="PART_DecreaseButton" Grid.Row="1" IsTabStop="{TemplateBinding IsTabStop}"/>
                            </Grid>
                            <ContentPresenter Grid.Column="1" Content="{TemplateBinding Property=Value}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                    </Grid>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>
<Grid>
    <xctk:DoubleUpDown Width="180" Height="70" Style="{StaticResource CustomDoubleUpDownStyle}" Value="20"/>
</Grid>

1 个答案:

答案 0 :(得分:0)

在您的XAML中没有绑定到click事件(或任何其他事件)的函数。换句话说:从程序的角度来看,当点击任何按钮时,无所事事。这是你的问题吗?

在这种情况下,添加事件处理程序并相应地修改模型中的计数器。