我试图让我的应用程序中的所有元素自动调整大小以适应父元素。这在使用网格、边距和自动大小方面进展顺利。问题是文本大小没有调整大小,在大元素中看起来很小。我尝试使用带有按钮的 View 框,效果很好:
<Button x:Name="button_1">
<Viewbox>
<TextBlock Text="Button1"></TextBlock>
</Viewbox>
</Button>
但我无法让它与 TreeviewItem 中的 Header 一起工作。 如何自动调整应用程序中所有文本元素的字体大小? 对此的任何解决方案都非常适用。不需要涉及viewbox元素的使用。
编辑: 我可能表述的问题有点不清楚。我的问题是自动调整 TreeViewItem 中标题内的文本。
<TreeView x:Name="tree1" Margin="0">
<TreeViewItem x:Name="item1" Header="Item1"> //This header needs to autosize
...
</TreeViewItem>
</TreeView>
解法:等同于mathieu给出的答案。
<TreeView x:Name="tree1" Margin="0">
<TreeViewItem x:Name="item1">
<TreeViewItem.Header>
<Viewbox>
<TextBlock>Item1</TextBlock>
</Viewbox>
</TreeViewItem.Header>
</TreeViewItem>
</TreeView>
最佳答案
像这样声明你的标题:
<TreeView x:Name="tree1" Margin="0">
<TreeViewItem x:Name="item1">
<TreeViewItem.Header>
<Viewbox>
<TextBlock TextWrapping="Wrap" Text="Header" />
</Viewbox>
</TreeViewItem.Header>
</TreeViewItem>
</TreeView>
关于c# - WPF - 自动调整所有文本的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15783492/