我想在下面实现。我已经创建了一个控件,你可以在下面看到我最初在textblock中显示受限测试但是当用户点击readmore按钮时我必须根据文本块内的文本扩展控件大小。请参阅下图。
如何实现这一目标?此控件将添加到另一个用户控件中,该控件是此控件的集合。
答案 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;
}