1

ウィンドウの幅と高さを自動にしようとしています。つまり、すべての子コントロールの幅と高さを組み合わせたものになります。

私のコード:

<Window x:Class="Read_360.ToastPopup"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="ToastPopup" Width="Auto" Height="68">
<Window.Resources>
    <ControlTemplate x:Key="MyErrorMessage"
                     TargetType="{x:Type Label}">
        <StackPanel Orientation="Horizontal"
                    Name="ErrorMessage" Width="Auto" Height="Auto">
            <Border CornerRadius="4" Width="Auto"
                    BorderThickness="0"
                    VerticalAlignment="Center"
                    Margin="4,0"
                    Background="#FF404040"
                    BorderBrush="Transparent">
                <Label Foreground="White"
                       VerticalAlignment="Center"
                       Padding="4,2"
                       Margin="4"
                       FontWeight="Bold" FontSize="15"
                       Name="Part1" Width="Auto" Height="Auto"
                       Visibility="Visible" HorizontalAlignment="Center" Content="{Binding Message}" />
            </Border>
        </StackPanel>
    </ControlTemplate>
</Window.Resources>
<StackPanel Orientation="Vertical">
    <Label Template="{StaticResource MyErrorMessage}" Name="Label1" Width="Auto" Height="Auto"></Label>
</StackPanel>

幅と高さは、ControlTemplate内にあるラベルと同じである必要があります

よろしくお願いします。

ディン。

4

2 に答える 2

6

これを実現するには、ウィンドウのSizeToContentプロパティをWidthAndHeightに設定できる必要があります。

于 2012-08-02T02:26:34.657 に答える
1

プロパティを設定してみてください

SizeToContent="WidthAndHeight"

しかし、なぜ高さが自動に設定されていないのですか?

于 2012-08-02T02:29:51.423 に答える