我正在努力实现以下目标。我已经创建了一个控件,如下所示,我最初在文本块中显示受限测试,但是当用户单击 readmore 按钮时,我必须根据文本块内的文本扩展控件大小。参考下图。
如何实现这一点有什么帮助?该控件将被添加到另一个用户控件中,该控件是该控件的集合。
我正在努力实现以下目标。我已经创建了一个控件,如下所示,我最初在文本块中显示受限测试,但是当用户单击 readmore 按钮时,我必须根据文本块内的文本扩展控件大小。参考下图。
如何实现这一点有什么帮助?该控件将被添加到另一个用户控件中,该控件是该控件的集合。
如果您通过某种方式限制文本然后添加更多文本,您可以使用任何面板控件来完成此操作。不要给面板(或它的父面板)一个宽度或高度属性,以便它可以增长。这是使用网格的示例
<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;
}