假设有XAML布局: <WrapPanel x:Name="mainWrapPanel">
</WrapPanel>C#代码部分:TextBlock txt;
private void AddTextBlock()
{
txt = new TextBlock();
txt.Backgroud = new SolidColorBrush(Colors.LightBlue);
this.mainWrapPanel.Children.Add(txt);
}
private void ShortText()
{
txt.Text = "abc";
}
private void LongText()
{
txt.Text = "123456767888768765";
}
private void SetWidth()
{
txt.Width = 100;
}调用代码:AddTextBlock(); // textblock被加载到界面
ShortText(); // textblock内容显示为"abc",textblock的宽度自动调整到"abc"显示宽度
LongText(); // textblock内容显示为"123456767888768765",textblock的宽度自动调整到"123456767888768765"显示宽度
SetWidth(); // textblock宽度调整为100, 之后无论运行ShortText()或LongText()其宽度都不变了
; // AutoWidth() 这里我想用一个方法使textblock(也就是txt)回到之前那样随其Text长度变化而变化的状态,应该怎么做?
请问在调用上面SetWidth()方法之后,如何再实现没有调用之前的那样可以随textblock的Text包含字符长度变化而变化?
需要设置什么属性或方法?(也就是如何实现上面的AutoWidth()方法?)
多谢指教.
</WrapPanel>C#代码部分:TextBlock txt;
private void AddTextBlock()
{
txt = new TextBlock();
txt.Backgroud = new SolidColorBrush(Colors.LightBlue);
this.mainWrapPanel.Children.Add(txt);
}
private void ShortText()
{
txt.Text = "abc";
}
private void LongText()
{
txt.Text = "123456767888768765";
}
private void SetWidth()
{
txt.Width = 100;
}调用代码:AddTextBlock(); // textblock被加载到界面
ShortText(); // textblock内容显示为"abc",textblock的宽度自动调整到"abc"显示宽度
LongText(); // textblock内容显示为"123456767888768765",textblock的宽度自动调整到"123456767888768765"显示宽度
SetWidth(); // textblock宽度调整为100, 之后无论运行ShortText()或LongText()其宽度都不变了
; // AutoWidth() 这里我想用一个方法使textblock(也就是txt)回到之前那样随其Text长度变化而变化的状态,应该怎么做?
请问在调用上面SetWidth()方法之后,如何再实现没有调用之前的那样可以随textblock的Text包含字符长度变化而变化?
需要设置什么属性或方法?(也就是如何实现上面的AutoWidth()方法?)
多谢指教.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货