按钮的内容根据按钮调整大小?

时间:2013-11-21 16:28:54

标签: c# .net wpf wpfdatagrid

我想在content中调整button的大小,以便在我“调整”我的窗口时,buttons也会调整大小content button保持不变?

我应该怎么做才能使内容调整为WRT按钮大小。

谢谢,费萨尔

PS:我在 WPF 中使用 GRID 布局。 enter image description here

2 个答案:

答案 0 :(得分:3)

我能想到你这样做的最简单方法是让你在Button内使用ViewBox元素:

<Button>
    <ViewBox>
        <!--Your Button content--> 
    </ViewBox>
</Button>

答案 1 :(得分:0)

我认为解决这个问题的最佳方法是实际制作一个可以动态控制文本大小的微小转换器。

以下是此类转换器的示例:

C#

using System.Globalization;

public class FontSizeConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        double actualHeight = System.Convert.ToDouble(value);
        int fontSize = (int)(actualHeight * .5);
        return fontSize;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

然后在xaml中使用此类:

XAML

...
<Window.Resources>
    <l:FontSizeConverter x:Key="FSConverter" />
</Window.Resources>
...
<Grid>   
    <Button Content="Dat Button" FontSize="{Binding Path=ActualHeight, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Grid}, Converter={StaticResource FSConverter}}"/>    
</Grid>

希望这会有所帮助,如果您对此有任何疑问,请与我们联系。

ķ。