当调整窗口大小时,我正在尝试调整文本框和文本框内的文本的大小.我似乎能够做一个或另一个,但不能同时做两个.
调整文本框的大小有效,但我无法调整文本内部的大小:

以上示例的代码:
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="133*"/>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="20*"/>
</Grid.ColumnDefinitions>
<Button Content="Button" Grid.Column="2"/>
<Button Content="Button" Grid.Column="1"/>
<TextBox TextWrapping="Wrap" VerticalContentAlignment="Center"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
或者调整字体的大小,但是我无法使文本框填充我正在使用的视图框:

以上示例的代码:
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="133*"/>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="20*"/>
</Grid.ColumnDefinitions>
<Button Content="Button" Grid.Column="2"/>
<Button Content="Button" Grid.Column="1"/>
<Viewbox Stretch="Uniform">
<TextBox TextWrapping="Wrap" VerticalContentAlignment="Center"/>
</Viewbox>
</Grid>
Run Code Online (Sandbox Code Playgroud)
使用Stretch ="Fill"(在正确的轨道上,但我宁愿保持统一,UniformToFill做一些奇怪的事情,我甚至看不到发生了什么)

你可以使用转换器.
public class FontSizeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
double actualHeight = System.Convert.ToDouble(value);
int fontSize = (int)(actualHeight * .5);
return fontSize;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Run Code Online (Sandbox Code Playgroud)
XAML:
....
<Window.Resources>
<local:FontSizeConverter x:Key="fontSizeCon" />
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="9*" />
<RowDefinition Height="1*" />
</Grid.RowDefinitions>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="133*"/>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="20*"/>
</Grid.ColumnDefinitions>
<Button Content="Button" Grid.Column="2"/>
<Button Content="Button" Grid.Column="1"/>
<TextBox TextWrapping="Wrap" VerticalContentAlignment="Center"
FontSize="{Binding Path=ActualHeight, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Grid}, Converter={StaticResource fontSizeCon}}"/>
</Grid>
</Grid>
...
Run Code Online (Sandbox Code Playgroud)
结果:


| 归档时间: |
|
| 查看次数: |
5523 次 |
| 最近记录: |