如何将Windows Phone控件的宽度/高度设置为包装其内容所需的最小值? 在Android中我会用以下方式完成它:
android:layout_width="wrap_content"
谢谢
答案 0 :(得分:2)
您可以使用ViewBox。这将缩放内部内容以适应可用空间。
<ViewBox>
<Grid Width="Auto" Height="Auto">
<!-- Your content goes here -->
<Grid/>
<ViewBox/>
答案 1 :(得分:1)
控件有一些你可以使用的属性: MinWidth , MaxWidth , Width ,一些带文本内容的控件也有 TextWrapping 和 TextTrimming 。通过使用那些你可能会实现你想要的 - 一些例子:
<StackPanel Margin="20">
<StackPanel.Resources>
<Style TargetType="Border">
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="Margin" Value="0,0,0,10"/>
</Style>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Text" Value="Simple long description"/>
</Style>
</StackPanel.Resources>
<Border> <!-- Implicit width -->
<TextBlock Width="150"/>
</Border>
<Border> <!-- Implicit width with text wrapping -->
<TextBlock Width="150" TextWrapping="Wrap"/>
</Border>
<Border> <!-- Auto width -->
<TextBlock Width="Auto"/>
</Border>
<Border> <!-- Auto width but with limit -->
<TextBlock Width="Auto" MaxWidth="180"/>
</Border>
<Border> <!-- Short text with min width -->
<TextBlock Width="Auto" MinWidth="100" Text="Min"/>
</Border>
<Button> <!-- Button with wrapped text -->
<TextBlock Width="120" TextWrapping="Wrap"/>
</Button>
</StackPanel>
结果:
在某些情况下,您可能还会使用HorizontalAlignment = Stretch
来设置控件的宽度为可用空间。
答案 2 :(得分:0)
您可以使用相应控件的width="Auto"
和height="Auto"
属性。
例如
<StackPanel>
<TextBlock x:Name="textBlock" Width="Auto" Text="Sample Text" />
</StackPanel>