1

我正在尝试使用 WPF 为 10 英尺的 GUI 创建按钮。每个按钮都需要比单个文本字符串和图像多一点的数据,可能是位于不同位置的 2-3 个字符串和一些图像。

我努力了

 <Button Height="52" HorizontalAlignment="Stretch" Name="button1"  Width="407">
        <Button.Content>
        <DockPanel LastChildFill="True" HorizontalAlignment="Stretch">
            <TextBlock Name="textBloczk2" Text="ABC" TextAlignment="Left"   DockPanel.Dock="Left"/>
            <TextBlock Name="textBlxock1" Text="CDE" TextAlignment="Right" DockPanel.Dock="Right"/>
        </DockPanel>
        </Button.Content>
    </Button>

但无论我使用哪个内部容器,按钮似乎都忽略了 DockPanel 的布局,并且组合文本最终位于按钮的中间。我做错了什么还是应该使用不同的外部容器?

4

2 回答 2

3

问题似乎是 DockPanel 的宽度太小,以至于左右面板的宽度与您的 TextBlocks 相同。

这似乎按预期工作(设置 DockPanel 的宽度):

    <Button Height="52" HorizontalAlignment="Stretch" Name="button1"  Width="407">
        <Button.Content>
            <DockPanel LastChildFill="True" Width="300">
                <TextBlock Name="textBloczk1" Text="Left" DockPanel.Dock="Left" />
                <TextBlock Name="textBlxock2" Text="Right" DockPanel.Dock="Right" />
                <TextBlock Name="textBlxock3" Text="Top" DockPanel.Dock="Top" />
                <TextBlock Name="textBlxock4" Text="Bottom" DockPanel.Dock="Bottom" />
            </DockPanel>
        </Button.Content>
    </Button>
于 2013-09-04T05:12:55.340 回答
2

尝试将“Horizo​​ntalContentAlignment="Stretch" VerticalContentAlignment="Stretch" 添加到您的按钮。这样停靠面板将占据按钮内的所有空间。

于 2013-09-04T04:56:49.640 回答