كيف يمكنني الحصول على StackPanel أن يكون إلا واسعة حيث المحتوى ؟

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

  •  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" (أو اليسار ، أو اليمين ، أيهما تفضل للتخطيط الخاص بك).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top