4

アプリケーション内のすべての要素を親要素に合わせて自動的にサイズ変更しようとしています。これは、グリッド、マージン、および自動サイズを使用するとうまくいきます。問題は、テキストのサイズが変更されず、大きな要素内で非常に小さく見えることです。うまく機能するボタン付きのビューボックスを使用してみました:

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

しかし、これをTreeviewItemのヘッダーと連携させることはできません。 アプリケーション内のすべてのテキスト要素のフォントを自動サイズ変更するにはどうすればよいですか? これに対する解決策は非常に高く評価されています。ビューボックス要素を使用する必要はありません。

編集: 質問を少し不明確に定式化した可能性があります。私の問題は、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>
4

2 に答える 2

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);

また:

<Button x:Name="button_1">
  <Viewbox>
    <TextBlock TextWrapping="Wrap" Text="Button1"></TextBlock>
  </Viewbox>                
</Button>
于 2013-04-03T09:31:50.437 に答える