C# 按钮控件内部的空间

C# 按钮控件内部的空间,c#,wpf,C#,Wpf,我有按钮,根据语言选择 例:英语1 葡萄牙语 我需要在按钮中的内容的左右两侧显示空间 这是我的xaml代码 <StackPanel Orientation="Horizontal" Grid.Row="6" HorizontalAlignment="Center" VerticalAlignment="Center"> <Button Style="{StaticResource LoginButtonStyl

我有按钮,根据语言选择 例:英语1

葡萄牙语

我需要在按钮中的内容的左右两侧显示空间

这是我的xaml代码

  <StackPanel Orientation="Horizontal" Grid.Row="6"  HorizontalAlignment="Center" VerticalAlignment="Center">
                             <Button Style="{StaticResource LoginButtonStyle}" Margin="10,0,15,20" Content="{x:Static strings:Resources.Login}" Command="{Binding LoginCmd}" 
                                IsDefault="True" MinWidth="90" Padding="5,5,5,5"
                                IsEnabled="{Binding LoginEnabled,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
                    </StackPanel>

请检查这是我的代码片段。在网格第6行中,我为按钮添加了stackpanel

<Border BorderThickness=".5" Width="449.629" Height="570" BorderBrush="Gray">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
            </Grid.ColumnDefinitions>
            <ContentPresenter Grid.Row="0" Content="{Binding}"></ContentPresenter>

            <StackPanel Grid.Row="1">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>

                    </Grid.RowDefinitions>
                    <Grid Grid.Row="0" Grid.RowSpan="3">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="200"/>
                            <ColumnDefinition Width="Auto"/>
                        </Grid.ColumnDefinitions>
                        <TextBlock Grid.Row="0"  Text="{x:Static strings:Resources.STR_USER_NAME}" Style="{StaticResource TextBlockStyle-CentraleSansCnd-Book15pt}" Margin="40,17,20,0"/>
                        <telerik:RadWatermarkTextBox x:Name="Login_UserName" BorderThickness="0" Grid.Row="0" Grid.Column="1" MaxHeight="100" WatermarkContent="Enter User Name" Margin="0,15,30,15" MaxLength="20"
                        Text="{Binding UserName, Mode=TwoWay, ValidatesOnDataErrors=True, NotifyOnValidationError=True, ValidatesOnExceptions=True}" Background="#FFE6E6E6" Foreground="#FF666666" 
                                                 Width="205" Style="{StaticResource TextBox_ValidationTemplate}" Validation.ErrorTemplate="{StaticResource TextBoxErrorTemplate}" FontSize="15" Height="25" 
                        HorizontalAlignment="Center" LostFocus="Login_UserName_LostFocus">
                            <telerik:RadWatermarkTextBox.WatermarkTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding}" Style="{StaticResource CentraleSansCnd-Book15pt}" FontStyle="Normal" />
                                </DataTemplate>
                            </telerik:RadWatermarkTextBox.WatermarkTemplate>
                        </telerik:RadWatermarkTextBox>
                        <TextBlock Grid.Row="1" Grid.Column="0"  Text="{x:Static strings:Resources.STR_PASSWORD}"  Style="{StaticResource TextBlockStyle-CentraleSansCnd-Book15pt}" Margin="40,5,20,0"/>
                        <PasswordBox x:Name="Login_Password" BorderThickness="0" MaxLength="20" Height="25" Grid.Row="1" Grid.Column="1" Background="#FFE6E6E6" Foreground="#FF666666" 
                                 FontSize="15" FontStyle="Normal" IsEnabled="{Binding NewMode}" 
                                 common:PasswordBoxAssistant.BindPassword="true" HorizontalAlignment="Center" Width="205" Margin="00,0,30,15"  Validation.ErrorTemplate="{StaticResource TextBoxErrorTemplate}"
            common:PasswordBoxAssistant.BoundPassword="{Binding Path=Password,Mode=TwoWay, ValidatesOnDataErrors=True, NotifyOnValidationError=True, ValidatesOnExceptions=True}" LostFocus="Login_Password_LostFocus">
                        </PasswordBox>
                        <TextBlock Grid.Row="2" Grid.Column="0" Text="{x:Static strings:Resources.SERVER_NAME}" Style="{StaticResource TextBlockStyle-CentraleSansCnd-Book15pt}" Margin="40,5,20,0"/>

                        <telerik:RadComboBox Style="{StaticResource RadComboBoxStyle}" Margin="00,0,30,15" Grid.Row="2" Grid.Column="1" ItemsSource="{Binding ServerNameColl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
                    Width="205" Height="25" Text="{Binding SelectedServerName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center"></telerik:RadComboBox>

                    </Grid>




                    <StackPanel Orientation="Vertical" Grid.Row="3" >
                        <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="40,0,30,5"  >
                            <TextBlock   Text="{x:Static strings:Resources.SERVER_IP}" Style="{StaticResource TextBlockStyle-CentraleSansCnd-Book15pt}" />
                            <TextBlock Margin="5,0,0,0" Text="{Binding ServerIP, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource TextBlockStyle-CentraleSansCnd-Book15pt}" FontStyle="Italic" />
                        </StackPanel>

                        <StackPanel Margin="40,0,10,20"  >
                            <TextBlock>
                            <Hyperlink Command="{Binding ServerSettingsCmd}" Style="{StaticResource HyperLinkStyle-CentraleSansCnd-Book15pt}">
                                <Run Text="{x:Static strings:Resources.SERVER_SETTINGS}"/>
                            </Hyperlink>
                            </TextBlock>
                        </StackPanel>
                    </StackPanel>
                    <TextBlock Grid.Row="4" Grid.ColumnSpan="2" Text="{Binding ErrorMsg, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" MaxHeight="10" TextWrapping="Wrap" ></TextBlock>

                    <Grid Grid.Row="5">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"></RowDefinition>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="Auto"/>

                        </Grid.ColumnDefinitions>
                        <CheckBox Style="{StaticResource CheckBoxStyle}" Margin="40,7,30,0" Content="{x:Static strings:Resources.REMEMBERME}" IsChecked="{Binding RememberMe}" MinWidth="150"  />
                        <TextBlock Padding="7" Grid.Row="0" Grid.Column="1">
                <Hyperlink Command="{Binding ForgotPwdCmd}" Style="{StaticResource HyperLinkStyle-CentraleSansCnd-Book15pt}"  >
                    <Run Text="{x:Static strings:Resources.FORGOTPWD}"/>
                </Hyperlink>
                        </TextBlock>

                    </Grid>

                    <!--<StackPanel Grid.Row="5" Orientation="Horizontal"  HorizontalAlignment="Left" VerticalAlignment="Center" Margin="40,0,0,10" >


                    </StackPanel>-->
                    <StackPanel Orientation="Horizontal" Grid.Row="6"  HorizontalAlignment="Center" VerticalAlignment="Center">
                        <Button Style="{StaticResource GrayButtonStyle}" Margin="5,0,15,20" Content="{x:Static strings:Resources.CANCEL}" IsCancel="True" MinWidth="90"/>
                        <Button Style="{StaticResource LoginButtonStyle}" Margin="10,0,15,20" Content="{x:Static strings:Resources.Login}" Command="{Binding LoginCmd}" 
                                IsDefault="True" MinWidth="90" Padding="5,5,5,5"
                                IsEnabled="{Binding LoginEnabled,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
                    </StackPanel>
                    <StackPanel Grid.Row="7" Orientation="Vertical" >
                        <Line Stroke="Black" StrokeThickness="1" X1="0" X2="449.629" ></Line>
                        <Grid Margin="40,0,0,0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"></RowDefinition>
                                <RowDefinition Height="Auto"></RowDefinition>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"></ColumnDefinition>
                                <ColumnDefinition Width="Auto"></ColumnDefinition>
                            </Grid.ColumnDefinitions>
                            <TextBlock Margin="0,10,5,0"  Grid.Row="0" Grid.Column="0" Style="{StaticResource TextBlockStyle-CentraleSansCnd-Book15pt}" HorizontalAlignment="Right" 
                                       Text="{x:Static strings:Resources.STR_SOFTWARE_VERSION}"></TextBlock>

                            <TextBlock Margin="5,10,5,2"  Grid.Row="0" Grid.Column="1" Style="{StaticResource TextBlockStyle-CentraleSansCnd-Book14pt}" 
                                       Text="{Binding AssemblyVersion}"></TextBlock>
                            <TextBlock Margin="0,2,5,0"  Grid.Row="1" Grid.Column="0" Style="{StaticResource TextBlockStyle-CentraleSansCnd-Book15pt}" HorizontalAlignment="Right" 
                                       Text="{x:Static strings:Resources.STR_SW_SERIALNO}"></TextBlock>
                            <TextBlock Margin="5,5,5,2"  Grid.Row="1" Grid.Column="1" Style="{StaticResource TextBlockStyle-CentraleSansCnd-Book14pt}" 
                                       Text="{Binding SerialNumber}"></TextBlock>
                        </Grid>
                    </StackPanel>
                </Grid>
            </StackPanel>
        </Grid>
    </Border>

这是为了时尚

<Style x:Key="LoginButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Height" Value="36" />
        <Setter Property="MaxWidth" Value="200" />
        <!--<Setter Property="Width" Value="120" />-->
        <Setter Property="Foreground" Value="White" />
        <Setter Property="Background" Value="Gray"></Setter>
        <Setter Property="BorderBrush" Value="White"></Setter>       
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border CornerRadius="3" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1">
                        <TextBlock Text="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"
                               Style="{StaticResource CentraleSansCnd-Book17pt}"></TextBlock>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>                       
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding App}" Value="1" />
                    <Condition Binding="{Binding LoginEnabled,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="#FF9741D1"></Setter>
                <Setter Property="BorderBrush" Value="#FF5F0099"></Setter>
            </MultiDataTrigger>

            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding App}" Value="2" />
                    <Condition Binding="{Binding LoginEnabled,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="#FF209E8C"></Setter>
                <Setter Property="BorderBrush" Value="#FF005D4F"></Setter>
            </MultiDataTrigger>

            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding App}" Value="3" />
                    <Condition Binding="{Binding LoginEnabled,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="#FF0074DF"></Setter>
                <Setter Property="BorderBrush" Value="#FF0046A8"></Setter>
            </MultiDataTrigger>

            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding App}" Value="4" />
                    <Condition Binding="{Binding LoginEnabled,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="#FF7AAD00"></Setter>
                <Setter Property="BorderBrush" Value="#FF437800"></Setter>
            </MultiDataTrigger>

            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding App}" Value="5" />
                    <Condition Binding="{Binding LoginEnabled,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="#FFFF9D2A"></Setter>
                <Setter Property="BorderBrush" Value="#FFC96800"></Setter>
            </MultiDataTrigger>    


            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding App}" Value="3" />
                    <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="#FF3FA7EF"></Setter>
                <Setter Property="BorderBrush" Value="#FF005D4F"></Setter>
            </MultiDataTrigger>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding App}" Value="1" />
                    <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="#FFD177FF"></Setter>
                <Setter Property="BorderBrush" Value="#FF9741D1"></Setter>
            </MultiDataTrigger>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding App}" Value="2" />
                    <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="#FF60D5C1"></Setter>
                <Setter Property="BorderBrush" Value="#FF209E8C"></Setter>
            </MultiDataTrigger>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding App}" Value="4" />
                    <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="#FFB2E44C"></Setter>
                <Setter Property="BorderBrush" Value="#FF7AAD00"></Setter>
            </MultiDataTrigger>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding App}" Value="5" />
                    <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Background" Value="#FFFFB847"></Setter>
                <Setter Property="BorderBrush" Value="#FFE98300"></Setter>
            </MultiDataTrigger>
        </Style.Triggers>
    </Style>

CentraleSansCnd-Book17pt的样式

<Style x:Key="CentraleSansCnd-Book17pt">
        <Setter Property="TextElement.FontFamily" Value="Resources/#CentraleSansCnd-Book" />
        <Setter Property="TextElement.FontSize" Value="17" />
    </Style>

在按钮样式上添加“边距”

<Style x:Key="LoginButtonStyle" TargetType="{x:Type Button}">

是的,我得到了答案。
在样式中有一个模板。在Border标记中我添加了padding属性。它解决了我的问题

<Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border CornerRadius="3" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Padding="10,0,10,0">
                        <TextBlock Text="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"
                               Style="{StaticResource CentraleSansCnd-Book17pt}"></TextBlock>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>


谢谢大家

请发布您的代码/xaml-您设置了填充吗?请编辑您的问题以包含xaml,而不是将其添加为注释。您的按钮很可能根据容器大小而定。请将其包含在您的XAML代码片段中在stackpanel中我添加了我的按钮我有预感它与
CentraleSansCnd-Book17pt
style有关-请发布此消息。这是如何回答问题的?
按钮
元素上已经有边距,因为OP-plus边距在按钮外,不会影响按钮内的文本。。。为此,您需要调整填充-这是您在那里得到的评论中讨论的内容,最后。然而,我不认为我们有任何人有机会找到它-因为它不是在你的代码在OP!这么多Xaml!