WPFにカスタムUserControlがあります。これは、タイトルバーの機能を置き換えるためにスタックパネルが上部にドッキングされています。
スタックパネルの左側にはラベルがあり、ラベルに長い文字列が含まれる場合にテキストを折り返すためのテキストブロックが含まれています。
コントロールをドラッグすると問題が発生します。当然、ウィンドウをドラッグするにつれて、ラベルのテキストがどんどん表示されるようにしたいと思います。
ウィンドウが大きくなるにつれてラベルを大きくしたいのですが、どうすればいいのかわかりません。
これは、スクリーンショットのタイトルバーを実現するために私が書いたコードです。
<Grid>
<DockPanel>
<StackPanel Name="titleBar" DockPanel.Dock="Top" Height="28" FlowDirection="RightToLeft" Orientation="Horizontal" Background="AliceBlue">
<Button x:Name="btnClose" Margin="0,0,5,0" Click="btnClose_Click">
</Button>
<Button x:Name="btnRunQuery" ToolTip="Run Query">
</Button>
<Button x:Name="btnFilter" ToolTip="Toggle Filter" Click="btnFilter_Click">
</Button>
<Button x:Name="btnAttributes">
</Button>
<Button x:Name="btnAll" Click="btnAll_Click">ALL</Button>
<Label Name="lblTableName" FontSize="14" MaxWidth="150">
<TextBlock Name="tbTableName" TextTrimming="WordEllipsis" TextWrapping="NoWrap" FlowDirection="LeftToRight"/>
</Label>
</StackPanel>
</DockPanel>
</Grid>
編集:ユーザーコントロールがレンダリングされるときに、ラベルの幅が150を超えないようにすることも追加したいと思います。したがって、MaxWidth="150"
プロパティ。ただし、ウィンドウを拡大するにつれてラベルを大きくしていきたいと思います。