StackPanel をそのコンテンツと同じ幅にするにはどうすればよいですか?
-
06-07-2019 - |
質問
次のテンプレートは、 動的な情報 カラーボックスに入っています。
ただし、箱は、 常に全幅 DockPanel/画面の。
を置くことができます 固定幅 Border 要素内にありますが、非常に長い顧客名は切り取られる可能性があります。
コンテンツの幅に基づいて幅を拡大または縮小するように Border に指示するにはどうすればよいですか。 <table>
要素はHTMLにありますか?
HTML:
<table>
<tr>
<td style="background-color: #eee; padding: 5px">
the table will be as wide as this text
</td>
</tr>
</table>
XAML:
<Window.Resources>
<DataTemplate x:Key="CustomerTemplateShow">
<Border CornerRadius="5" Background="#eee" Padding="5">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding FirstName}"/>
<TextBlock Text=" "/>
<TextBlock Text="{Binding LastName}"/>
</StackPanel>
</Border>
</DataTemplate>
</Window.Resources>
<DockPanel LastChildFill="False" Margin="10">
<ContentControl
DockPanel.Dock="Top"
Content="{Binding SelectedCustomer}"
ContentTemplate="{StaticResource CustomerTemplateShow}"/>
</DockPanel>
解決
最も簡単な方法は、Border の horizontalAlignment="Center" (レイアウトに合わせて Left または Right のいずれか) を設定することです。
所属していません StackOverflow