C#WP8根据文本动态增加控件大小

时间:2013-10-17 06:26:41

标签: c# wpf windows-phone-8 user-controls

我想在下面实现。我已经创建了一个控件,你可以在下面看到我最初在textblock中显示受限测试但是当用户点击readmore按钮时我必须根据文本块内的文本扩展控件大小。请参阅下图。

enter image description here

如何实现这一目标?此控件将添加到另一个用户控件中,该控件是此控件的集合。

1 个答案:

答案 0 :(得分:1)

如果您通过某种方式限制文本然后添加更多文本,则可以使用任何面板控件来完成此操作。不要给面板(或它的父级)一个宽度或高度属性,以便它可以增长。以下是使用Grid

的示例
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <TextBlock Text="Event"/>
    <TextBlock Text="{Binding EventSummary}" Grid.Row="1" Visibility="{Binding SummaryVis}"/>
    <TextBlock Text="{Binding EventDescription}" Grid.Row="1" Visibility="{Binding DescriptionVis}" />
    <HyperlinkButton HorizontalAlignment="Right" Content="read more" Command="{Binding ReadMoreCommand}" />
    <!-- Buttons -->
    <StackPanel Orientation="Horizontal" />
</Grid>

在ReadMoreCommand中,您将更改两个文本块的可见性

private void ReadMore(object val)
{
    DescriptionVis = Visibility.Visible;
    SummaryVis = Visibility.Collapsed;
}