困在按钮模板与文本框

时间:2011-08-24 18:56:01

标签: wpf templates button textbox

我有一个按钮模板,在这种情况下,当输入文本时,按钮保持相同的大小,并且它可以正常工作。但是我只想要一个边框,所以当我尝试在拇指里面添加椭圆来获取边框,并尝试在文本框中键入文本时,当文本变得比按钮突然变大时,它会覆盖带有白色背景的按钮,不知道为什么会这样,任何帮助都会受到赞赏。

        <Window.Resources>
    <Style TargetType="{x:Type Thumb}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Thumb">
                    <Ellipse Fill="{TemplateBinding Background}"/>
                </ControlTemplate> 
            </Setter.Value>
        </Setter>
    </Style>
    <Style TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid>
                        <Thumb x:Name="outerThumbResize" Cursor="SizeNESW" Background="Red" Height="50" Width="50"/>

                        <!--<Ellipse x:Name="innerCircle" Fill="White" RenderTransformOrigin=".5,.5">
                            <Ellipse.RenderTransform>
                                <ScaleTransform ScaleX=".8" ScaleY=".8"/>
                            </Ellipse.RenderTransform>
                        </Ellipse>-->


                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        <TextBox x:Name="textBox" Background="Transparent" BorderThickness="0" Visibility="Collapsed" TextAlignment="Center" PreviewKeyUp="textBox_PreviewKeyUp" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        <Thumb x:Name="innerThumb" Background="Transparent" DragDelta="nodeThumb_DragDelta" RenderTransformOrigin=".5,.5">
                            <Thumb.RenderTransform>
                                <ScaleTransform ScaleX=".9" ScaleY=".9"/> 
                            </Thumb.RenderTransform>
                        </Thumb>

                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>

1 个答案:

答案 0 :(得分:0)

我使用模板中椭圆的笔触粗细来解决它。