【问题标题】:Stuck on button template with texbox卡在带有文本框的按钮模板上
【发布时间】:2011-11-03 02:12:25
【问题描述】:

我有一个如下所示的按钮模板,在这种情况下,当输入文本时,按钮保持相同的大小,并且可以正常工作。但是我只想要一个边框,所以当我尝试在拇指内添加那个椭圆以获得边框,并尝试在文本框中输入文本时,当文本变得比按钮大时,它突然覆盖了白色背景的按钮,我不知道为什么会这样,任何帮助将不胜感激。

        <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>

【问题讨论】:

  • 我用模板中椭圆的笔画粗细解决了。
  • 将其发布为答案并在您被允许或删除问题时接受它
  • @Meleak 谢谢我不知道。
  • 没问题 :) 这样其他人就可以很容易地看到问题的解决方案等等。
  • 不要忘记通过单击旁边的大复选标记将您的答案标记为问题答案。

标签: wpf templates button textbox


【解决方案1】:

我使用模板中椭圆的笔画粗细解决了这个问题。

【讨论】:

    猜你喜欢
    • 2020-08-30
    • 2011-05-29
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 2011-02-25
    • 1970-01-01
    • 2011-08-30
    相关资源
    最近更新 更多