Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在按钮上的两个图像之间拉伸文本块_C#_Wpf_Xaml - Fatal编程技术网

C# 在按钮上的两个图像之间拉伸文本块

C# 在按钮上的两个图像之间拉伸文本块,c#,wpf,xaml,C#,Wpf,Xaml,我有两个堆叠的按钮,顶部的按钮在文本块的左侧和右侧有图像。底部按钮左侧有一个图像,右侧有一个文本块。需要将顶部按钮上的文本块居中并拉伸,以填充两个图像之间的空间。如何做到这一点 <ScrollViewer> <Grid> <Grid.Background> <SolidColorBrush Color="{DynamicResource {x:Static SystemColors.ControlLight

我有两个堆叠的按钮,顶部的按钮在文本块的左侧和右侧有图像。底部按钮左侧有一个图像,右侧有一个文本块。需要将顶部按钮上的文本块居中并拉伸,以填充两个图像之间的空间。如何做到这一点

<ScrollViewer>
    <Grid>
        <Grid.Background>
            <SolidColorBrush Color="{DynamicResource {x:Static SystemColors.ControlLightColorKey}}"/>
        </Grid.Background>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <Button 
            HorizontalContentAlignment="Stretch"
            Grid.Row="0"
            Grid.Column="1"
            Margin="2"
            Height="{Binding Height, ElementName=Tb}"
            Click="Button1_Click">
            <!---->
            <DockPanel>
                <Image 
                    Source="/images/block_arrow_left.png"
                    Grid.Row="0" 
                    Grid.Column="0"
                    Height="{Binding ActualHeight, ElementName=Tb}" 
                    Margin="0" 
                    VerticalAlignment="Center" 
                    HorizontalAlignment="Left">
                </Image>
                <TextBlock 
                    x:Name="Tb"
                    Padding="5"
                    Grid.Row="0" 
                    Grid.Column="1"
                    FontSize="14"
                    VerticalAlignment="Center"
                    Text="button1"/>
                <Image 
                    Source="/images/block_arrow_left.png"
                    Grid.Row="0" 
                    Grid.Column="4"
                    Height="{Binding ActualHeight, ElementName=Tb}" 
                    Margin="0" 
                    VerticalAlignment="Center" 
                    HorizontalAlignment="Right">
                </Image>
            </DockPanel>
        </Button>
        <Button 
            HorizontalContentAlignment="Stretch"
            Grid.Row="1"
            Grid.Column="1"
            Margin="2"
            Height="{Binding Height, ElementName=Tb}"
            Click="Button2_Click">
            <DockPanel>
                <Image 
                    Source="images/block_arrow_left.png"
                    VerticalAlignment="Center"
                    Grid.Row="1" 
                    Grid.Column="0"
                    Height="{Binding ActualHeight, ElementName=Tb}" >
                </Image>
                <TextBlock 
                    Padding="5"
                    Grid.Row="1" 
                    Grid.Column="1"
                    FontSize="14"
                    VerticalAlignment="Center"
                    HorizontalAlignment="Center"
                    Text="button22222222222222">
                </TextBlock>
            </DockPanel>
        </Button>
    </Grid>
</ScrollViewer>

DockPanel
替换为
网格
,给
网格
三列,将
文本块
放在中间一栏,并将
水平对齐
属性设置为
拉伸

<Button 
    HorizontalContentAlignment="Stretch"
    Grid.Row="0"
    Grid.Column="1"
    Margin="2"
    Height="{Binding Height, ElementName=Tb}"
    Click="Button1_Click">
    <!---->
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <Image 
            Source="/images/block_arrow_left.png"
            Grid.Column="0"
            Height="{Binding ActualHeight, ElementName=Tb}" 
            VerticalAlignment="Center" 
            HorizontalAlignment="Center">
        </Image>
        <TextBlock 
            x:Name="Tb"
            Padding="5"
            Grid.Column="1"
            FontSize="14"
            VerticalAlignment="Center"
            HorizontalAlignment="Stretch"
            Text="button1"/>
        <Image 
            Source="/images/block_arrow_left.png"
            Grid.Column="2"
            Height="{Binding ActualHeight, ElementName=Tb}" 
            VerticalAlignment="Center" 
            HorizontalAlignment="Center">
        </Image>
    </Grid>
</Button>


谢谢,杰森。现在工作。您的更改需要发布需要水平对齐从“拉伸”更改为“中心”。需要在文本块中进行更改。@namg_Enger我认为您的问题是希望垂直居中,水平拉伸,因为您的问题是:“拉伸以填充两幅图像之间的空间”是,我最初的问题陈述在定心方面不清楚。再次感谢你的帮助。