`
wangleifire
  • 浏览: 509088 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

RichTextBox 添加控件,被禁用如何处理 button

    博客分类:
  • c#
阅读更多

 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
  {
    protected override bool IsEnabledCore
    {
      get
      {
        return true;
      }
    }
  }

  然后使用重写了的MyFlowDocument替换FlowDocument就可以了:)

分享到:
评论

相关推荐

    wpf在RichTextBox中添加控件未启用

    因此,当`FlowDocument`或`RichTextBox`本身处于禁用状态时,内部的所有控件也会随之禁用,即使这些控件的`IsEnabled`属性被显式设置为`True`。 为了解决这一限制,可以通过重写`IsEnabledCore`方法来强制让内部的...

    RichTextBox 屏蔽拷贝粘帖功能

    你可以创建一个`Form`,添加一个`RichTextBox`控件,并将上述代码应用到该控件上,运行测试以确保拷贝粘贴功能已被成功屏蔽。 总之,屏蔽`RichTextBox`的拷贝粘贴功能涉及对键盘事件和鼠标事件的处理,以及对默认上...

    VB控件与属性(35种)大全

    18. RichTextBox控件:扩展了TextBox的功能,支持格式化文本。关键属性有Text(文本内容)和Font(字体样式)。 19. WebBrowser控件:嵌入Web浏览器功能。主要属性有Document(HTML文档对象)和Url(加载的网页URL...

    VB实现窗口的弹出式菜单...

    为了实现弹出式菜单,在 `RichTextBox` 控件上添加了 `MouseDown` 事件处理程序。当用户右击 `RichTextBox` 时,会根据选中的文本状态启用或禁用菜单项,并显示弹出菜单。 ```vb Private Sub RichTextBox1_...

    C#_控件属性事件大全

    以上只是部分控件及其常用的属性和事件,更多控件如`RichTextBox`、`NumericUpDown`、`CheckBox`、`ComboBox`等也都有类似的属性和事件。掌握这些基本属性和事件对于开发C#桌面应用程序至关重要。

    Visual C++2010开发权威指南(共三部分).part1.rar

    5.28 Visual C++ 2010 Radio Button控件简介与开发 264 5.28.1 为单选按钮控件分组 264 5.28.2 获得被选中的单选按钮的文本 264 5.29 Visual C++ 2010 Mediaplayer控件简介与开发 265 5.30 小结 266 第二部分 Visual...

    C#编程经验技巧宝典

    10 &lt;br&gt;0023 如何添加引用第3方控件 11 &lt;br&gt;0024 如何生成DLL文件 11 &lt;br&gt;0025 如何使用不安全代码 11 &lt;br&gt;第2章 语言基础 13 &lt;br&gt;2.1 注释 14 &lt;br&gt;0026 如何对代码进行注释 14 ...

    C#程序开发范例宝典(第2版).part13

    实例058 为RichTextBox控件添加自定义滚动条 68 实例059 在RichTextBox控件中实现关键字描红 69 实例060 在RichTextBox控件中实现项目编号功能 71 实例061 设置RichTextBox控件中文本对齐方式 74 2.4 ListBox...

    C#程序开发范例宝典(第2版).part08

    实例058 为RichTextBox控件添加自定义滚动条 68 实例059 在RichTextBox控件中实现关键字描红 69 实例060 在RichTextBox控件中实现项目编号功能 71 实例061 设置RichTextBox控件中文本对齐方式 74 2.4 ListBox...

    C#程序开发范例宝典(第2版).part02

    实例058 为RichTextBox控件添加自定义滚动条 68 实例059 在RichTextBox控件中实现关键字描红 69 实例060 在RichTextBox控件中实现项目编号功能 71 实例061 设置RichTextBox控件中文本对齐方式 74 2.4 ListBox...

    C#程序开发范例宝典(第2版).part12

    实例058 为RichTextBox控件添加自定义滚动条 68 实例059 在RichTextBox控件中实现关键字描红 69 实例060 在RichTextBox控件中实现项目编号功能 71 实例061 设置RichTextBox控件中文本对齐方式 74 2.4 ListBox...

Global site tag (gtag.js) - Google Analytics