Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建手动展开的文本块_C#_Wpf_Textblock_Expander - Fatal编程技术网

C# 创建手动展开的文本块

C# 创建手动展开的文本块,c#,wpf,textblock,expander,C#,Wpf,Textblock,Expander,我有一个文本块,它的初始文本量和高度为X。当用户使用该程序时,该文本块中的文本行数会增加 textblock位于一个位于scrollview中的扩展器中 我想有“更多…”文本出现时,文本块中的文本量超过高度,当更多。。。单击文本时,文本块的高度将扩展以显示文本块中的所有文本。我不希望textblock滚动或自动增加其高度(因为它会影响scrollview中的其他扩展器) 是否可以这样做?我应该如何处理?子类TextBlock并添加功能,以便在TextBlock中的文本高度超过TextBlock高

我有一个文本块,它的初始文本量和高度为X。当用户使用该程序时,该文本块中的文本行数会增加

textblock位于一个位于scrollview中的扩展器中

我想有“更多…”文本出现时,文本块中的文本量超过高度,当更多。。。单击文本时,文本块的高度将扩展以显示文本块中的所有文本。我不希望textblock滚动或自动增加其高度(因为它会影响scrollview中的其他扩展器)


是否可以这样做?我应该如何处理?

子类TextBlock并添加功能,以便在TextBlock中的文本高度超过TextBlock高度时,呈现可点击的“更多…”文本标签(或以您选择的方式实现)

您可以使用
Graphics.MeasureString()
测量字符串


这是从事情的C#方面来说的,我对WPF一无所知,也许有一种更简单的方法可以用WPF来做。

我也可以用stackpanel来做吗?@Phaded我对WPF不太熟悉,不能肯定地说,我不明白为什么这不是不可能的,但我以前从未用过stackpanel,正如我所说的,我不能肯定。