ViewBox FontSize问题

时间:2015-12-17 17:33:40

标签: wpf binding font-size viewbox

我试图使用ViewBox来调整不同控件的字体大小,而不是控件大小本身。问题是每当我放置像TextBox或ComboBox这样的控件时,它会正确调整字体大小,但控件不会拉伸。我知道这与“无限”有关。 ViewBox可以使用的空间量。

我尝试了一种不同的方法,在ViewBox中有TextBlock,并将另一个控件fontsize绑定到该TextBlock。

<Grid Width=100>
    <ViewBox>
        <TextBlock Name=aTextBlock />
    </ViewBox>
</Grid>

...

<Grid>
    <TextBlock FontSize={Binding ElementName=aTextBlock, Path=FontSize}/>
</Grid>

这种方法不起作用。如果我可以绑定到ActualFontSize但不存在那将是很好的。

最后一种方法是使用ViewModelBase将aTextBlock的FontSize绑定到一个变量,并将另一个文本块绑定到该字体。

private double _currentFontSize;
public double GlobalFontSize
{
    get { return _currentFontSize; }
    set
    {

        _currentFontSize = value;
        MessageBox.Show(_currentFontSize.ToString());
        RaisePropertyChanged();
    }
}

注意:我尝试为此类使用int,double和FontSize类型。

<Grid Width=100>
    <ViewBox>
        <TextBlock Name=aTextBlock
                   FontSize={Binding GlobalFontSize,
                                     UpdateSourceTrigger=PropertyChanged,
                                     Mode=TwoWay} />
    </ViewBox>
</Grid>

...

<Grid>
    <TextBlock FontSize={Binding GlobalFontSize}>
</Grid>

这也不起作用。我开始觉得ViewBox比它的价值更麻烦。如果我不正确地做这些,或者如果有人有任何建议,我会非常感激。

0 个答案:

没有答案