StackPanel をそのコンテンツと同じ幅にするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1012106

  •  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 の horizo​​ntalAlignment="Center" (レイアウトに合わせて Left または Right のいずれか) を設定することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top