Застрял на кнопке шаблона с texbox - PullRequest
1 голос
/ 24 августа 2011

У меня есть шаблон кнопки, показанный ниже, в этом случае при вводе текста кнопка остается того же размера, и она работает нормально. Однако я хочу просто рамку, поэтому, когда я пытаюсь добавить этот эллипс внутри большого пальца, чтобы получить границу, и пытаюсь набирать текст в текстовом поле, когда текст становится больше, чем кнопка, внезапно она закрывает кнопку белым фоном, я не знаю, почему это происходит, любая помощь будет оценена.

        <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 голосов
/ 25 августа 2011

Я решил это, используя толщину эллипса в шаблоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...