كيف يمكنني الحصول على StackPanel أن يكون إلا واسعة حيث المحتوى ؟
-
06-07-2019 - |
سؤال
القالب التالي يظهر المعلومات الحيوية في مربع اللون.
ومع ذلك ، فإن الصندوق دائما العرض الكامل من DockPanel/الشاشة.
أنا قد وضعت عرض ثابت في العنصر الحدود ، ولكن بعد فترة طويلة جدا اسم العميل قد قطع.
كيف يمكنني معرفة الحدود التي يجب أن توسيع والعقد العرض بناء على عرض من محتواه ، <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>
المحلول
أبسط طريقة هي وضع الحدود HorizontalAlignment="Center" (أو اليسار ، أو اليمين ، أيهما تفضل للتخطيط الخاص بك).
لا تنتمي إلى StackOverflow