将TextDecorations应用于CollapsibleSection

时间:2011-09-26 21:21:29

标签: c# wpf

我有在代码中动态创建的CollapsibleSection对象。我想简单地说:

CollapsibleSection section = new CollapsibleSection();
section.TextDecoration = TextDecorations.Strikethrough;

这让我觉得更加困难。有没有人对一个简单的方法有一些了解可折叠部分的整个内容?


我还缺少一些东西。这是我到目前为止所做的:

 public static readonly DependencyProperty TextDecorationProperty = 
   DependencyProperty.RegisterAttached("TextDecoration", typeof(TextDecoration), 
   typeof(CollapsibleSection)); 

在我创建CollapsibleSection的方法中,我有这个:

CollapsibleSection cs = new CollapsibleSection(); 
if (flagIsTrue) { 
  section.SetValue(TextDecorationProperty, TextDecorations.Strikethrough); 
}

这些CollapbsibleSection用于填充FlowDocument。

我得到此异常:'System.Windows.TextDecorationCollection'不是属性'TextDecoration'的有效值。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

您可以使用附加财产。这可以在Code或XAML中完成

<Expander Header="test" TextBlock.TextDecorations="Strikethrough">
    <TextBlock>This is some random text</TextBlock>
</Expander>

答案 1 :(得分:0)

我通过将参数从typeof(TextDecoration)更改为typeof(TextDecorationCollection)来获取附加属性,但该属性似乎从未真正附加到UIElement,因此我将其包装起来最终在段落级别正确设置。

感谢您的帮助。