как изменить размер этой кнопки wpf - PullRequest
0 голосов
/ 07 ноября 2018

Я не очень хорош в WPF и немного борюсь с этим. У меня есть окно WPF со следующим кодом:

 <ContentControl.Content>
            <Button Name="btnUpdateCommand" HorizontalAlignment="Right" Grid.Row="2" Command="{Binding UpdateCommand}" Height="23" Margin="0,4">
                <StackPanel Orientation="Horizontal" Name="txtUpdate" HorizontalAlignment="Right">
                    <TextBlock Text="{Binding InstallButtonText}"  DockPanel.Dock="Right" Margin="5,2,0,0" HorizontalAlignment="Right"></TextBlock>
                    <TextBlock Text="{Binding FormCloseCountDown}"  DockPanel.Dock="Right" Margin="5,2,0,0"></TextBlock>
                </StackPanel>
            </Button>
        </ContentControl.Content>

Как изменить размер btnUpdateCommand, когда у меня есть текст локализации. Я пытался изменить выравнивание TextBlock и т. Д., Но без радости.
В качестве примера, это то, как кнопка выглядит, когда она имеет английский enter image description here И вот как выглядит кнопка, когда она имеет французский enter image description here Чего мне не хватает?

Вот запись XAML:

<UserControl x:Class="UpdateCheckModule.UpdateCheckProgress"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300"
         Height="250" Width="500">

<Grid Margin="10">
    <Grid.RowDefinitions>
        <RowDefinition Height="175"></RowDefinition>
        <RowDefinition Height="10"></RowDefinition>
        <RowDefinition Height="30"></RowDefinition>
    </Grid.RowDefinitions>



    <ContentControl Grid.Row="0">
        <ContentControl.Content>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="95"></RowDefinition>
                    <RowDefinition Height="30"></RowDefinition>
                    <RowDefinition Height="23"></RowDefinition>
                </Grid.RowDefinitions>

                <TextBlock Text="{Binding Title}" Grid.Row="0" FontSize="18" />
                <TextBlock Text="{Binding Status}" Grid.Row="1" />
                <Border Grid.Row="2" BorderThickness="1" BorderBrush="DarkGray">
                    <ProgressBar  Value="{Binding ProgressPercentage}" Foreground="#FF10AAE7"></ProgressBar>
                </Border>

            </Grid>
        </ContentControl.Content>
        <ContentControl.Style>
            <Style TargetType="{x:Type ContentControl}">
                <Setter Property="Visibility" Value="Visible"></Setter>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding HideProgress}" Value="True">
                        <Setter Property="Visibility" Value="Collapsed"></Setter>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ContentControl.Style>
    </ContentControl>

    <ContentControl Grid.Row="0">
        <ContentControl.Content>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="9*"></ColumnDefinition>
                    <ColumnDefinition Width="1*"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="40"></RowDefinition>
                    <RowDefinition Height="20"></RowDefinition>
                    <RowDefinition Height="115"></RowDefinition>
                </Grid.RowDefinitions>

                <TextBlock Text="{Binding Title}" Grid.Row="0" FontSize="18" />
                <Image Source="pack://application:,,,/UpdateCheckModule;component/sedv2.ico" Grid.Column="1"></Image> 
                <TextBlock Text="{Binding ReleaseNotesText}" Grid.Row="1" Grid.ColumnSpan="2"/>
                <Border BorderThickness="1" BorderBrush="DarkGray" Grid.Row="2" Grid.ColumnSpan="2">
                    <ScrollViewer VerticalScrollBarVisibility="Auto">
                        <TextBlock Text="{Binding DeploymentManifest.ReleaseNotes}" Background="White" Margin="5"></TextBlock>
                    </ScrollViewer>
                </Border>
            </Grid>

        </ContentControl.Content>
        <ContentControl.Style>
            <Style TargetType="{x:Type ContentControl}">
                <Setter Property="Visibility" Value="Collapsed"></Setter>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding HideProgress}" Value="True">
                        <Setter Property="Visibility" Value="Visible"></Setter>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ContentControl.Style>
    </ContentControl>

    <Button Name="btnSkip" HorizontalAlignment="Left" Grid.Row="2" Content="{Binding SkipButtonText}" Width="100" Command="{Binding SkipCommand}" Height="23">
    </Button>

    <ContentControl Grid.Row="2">
        <ContentControl.Content>
            <Button Name="btnUacRestartCommand"  HorizontalAlignment="Right" Grid.Row="2" Width="175" Command="{Binding UacRestartCommand}" Height="23">
                <StackPanel Orientation="Horizontal">
                    <Image Source="{Binding Shield}" DockPanel.Dock="Left"></Image>
                    <TextBlock Text="{Binding AdminInstallButtonText}"  DockPanel.Dock="Right" Margin="5,2,0,0"></TextBlock>
                    <TextBlock Text="{Binding FormCloseCountDown}"  DockPanel.Dock="Right" Margin="5,2,0,0"></TextBlock>
                </StackPanel>
            </Button>
        </ContentControl.Content>
        <ContentControl.Style>
            <Style TargetType="{x:Type ContentControl}">
                <Setter Property="Visibility" Value="Collapsed"></Setter>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding RequireUAC}" Value="True">
                        <Setter Property="Visibility" Value="Visible"></Setter>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ContentControl.Style>
    </ContentControl>

    <ContentControl Grid.Row="2">
        <ContentControl.Content>
            <Button Name="btnUpdateCommand" HorizontalAlignment="Right" Grid.Row="2" Width="175" Command="{Binding UpdateCommand}" Height="23">
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding InstallButtonText}"  DockPanel.Dock="Right" Margin="5,2,0,0"></TextBlock>
                    <TextBlock Text="{Binding FormCloseCountDown}"  DockPanel.Dock="Right" Margin="5,2,0,0"></TextBlock>
                </StackPanel>
            </Button>
        </ContentControl.Content>
        <ContentControl.Style>
            <Style TargetType="{x:Type ContentControl}">
                <Setter Property="Visibility" Value="Visible"></Setter>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding RequireUAC}" Value="True">
                        <Setter Property="Visibility" Value="Collapsed"></Setter>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ContentControl.Style>
    </ContentControl>






</Grid>

1 Ответ

0 голосов
/ 08 ноября 2018

Вы явно устанавливаете Width из Button (на 175).Удалить этот атрибут;это позволит Button определять свою собственную оптимальную ширину.

Пока вы это делаете, удалите атрибуты DockPanel.Dock на TextBlock s;эти атрибуты ничего не делают, поскольку TextBlock s находятся внутри StackPanel, а не DockPanel.

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