2013-04-03 64 views
4

我正在嘗試使應用程序中的所有元素自動調整爲父元素。這對於網格,邊距和自動尺寸的使用來說很好。問題在於文本大小沒有調整大小,並且在大型元素中看起來非常小。我一直在使用的按鈕視框,其做工不錯的嘗試:WPF - 自動調整全部文本

<Button x:Name="button_1"> 
    <Viewbox> 
    <TextBlock Text="Button1"></TextBlock> 
    </Viewbox>     
</Button> 

但我不能得到這個在一個TreeViewItem的頭工作。 我該如何自動調整應用程序中所有文本元素的字體大小?對於這個任何解決方案都非常感興趣。不需要涉及使用視圖元素。

編輯: 我可能提出了我的問題有點不清楚。我的問題是自動化TreeViewItem中Header內的文本。

<TreeView x:Name="tree1" Margin="0"> 
    <TreeViewItem x:Name="item1" Header="Item1"> //This header needs to autosize 
    ... 
    </TreeViewItem> 
</TreeView> 

解決方案:相當於答案馬修提供。

<TreeView x:Name="tree1" Margin="0"> 
    <TreeViewItem x:Name="item1"> 
     <TreeViewItem.Header> 
     <Viewbox> 
      <TextBlock>Item1</TextBlock> 
     </Viewbox> 
     </TreeViewItem.Header> 
    </TreeViewItem> 
</TreeView> 

回答

1

聲明你的頭是這樣的:

​​
0

通過這個代碼:

String text = "Your Text Goes here"; 
    Typeface objTypeFace = new Typeface("Helvetica"); 
    FormattedText objft = new FormattedText(text, CultureInfo.CurrentCulture, 
      FlowDirection.LeftToRight, objTypeFace , 20, Brushes.Red); 

    Size textSize = new Size(objft.Width, objft.Height); 

OR:

<Button x:Name="button_1"> 
    <Viewbox> 
    <TextBlock TextWrapping="Wrap" Text="Button1"></TextBlock> 
    </Viewbox>     
</Button> 
+0

對不起,如果我做了問題不清楚,但我擁有Alre ady發現瞭如何在按鈕上使用viewbox。問題是如何使用viewbox來自動化TreeviewItem的Header中的文本? –