WPF UniformGrid在每个项

时间:2016-04-25 21:03:25

标签: c# wpf xaml listview templates

我正在努力使用许多按钮的ListView - 我想将所有按钮的文本拉伸到相同的大小。我看到TextBlocks的this答案,但我需要Buttons的解决方案。我把问题分解为这个最小的例子。

这是我的模板。我用ViewBox拉伸我的按钮文本。

<DataTemplate x:Key="MyTemplate">
    <Button>
        <Button.Template>
            <ControlTemplate TargetType="Button">
                <Border BorderThickness="3" BorderBrush="Black" Margin="1,1,1,1">
                    <Viewbox Stretch="Uniform">
                        <TextBlock Text="{Binding Name}"/>
                    </Viewbox>
                </Border>
            </ControlTemplate>
        </Button.Template>
    </Button>
</DataTemplate>

我在ItemsControl中使用带有UniformGrid的模板,如下所示:

<ItemsControl ItemsSource="{Binding MyItems}" ItemTemplate="{StaticResource MyTemplate}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid Columns="4"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

这种组合的结果是这样的。每个按钮都会使文本拉伸不同。 enter image description here

但我想将每个按钮的文本拉伸到相同的FontSize。因此,我的按钮的FontSize可能是所有按钮的最大可能FontSize。

结果应如下所示: enter image description here

有没有办法达到这个目标?我感谢任何帮助!

0 个答案:

没有答案