【问题标题】:Silverlight 4 RichTextBox - InlineUiContainers disabledSilverlight 4 RichTextBox - InlineUiContainers 已禁用
【发布时间】:2013-01-08 01:27:41
【问题描述】:

我一直很感兴趣地关注Silverlight text editor sample。它为我提供了很多功能,例如格式化、剪贴板支持、打印等。

该示例还允许使用 InlineUiContainer 插入 DataGrid。

我的问题是插入的 DataGrid 被禁用,而我的要求是用户可以编辑 DataGrid 的内容。

如何使插入到 RichTextBox 中的 InlineUiContainer 启用?

【问题讨论】:

    标签: silverlight richtextbox


    【解决方案1】:

    RichTextBox 必须是 ReadOnly 才能使控件响应事件。我通过将 RichTextBox 默认设置为 ReadOnly 然后在焦点上变为可编辑来解决此问题。

    我的问题是在 DataGrid 中有 RichTextBoxes,每个 RichTextbox 中还嵌入了其他控件。听起来您的 RTB 永远不会失去焦点 ReadOnly,因为只有一个 RTB。

    您必须想出一些策略,在特定条件下将 RTB 置于只读模式。

    【讨论】:

      【解决方案2】:

      我也遇到了同样的问题,网上没找到答案……

      这就是我所做的,有点难看,但它有效:

      创建一个自定义控件并将数据网格放入其中。 在自定义控件中添加以下代码:

          public CustomControl()
          {
              InitializeComponent();
      
      
              this.IsEnabledChanged += EnableChanged;
          }
      
          private int counter = 0;
          private void EnableChanged(object sender, DependencyPropertyChangedEventArgs e)
          {
              if (counter == 0)
              {
                  this.IsEnabled = (bool) e.OldValue;
                  counter = 1;
                  return;
              }
              counter = 0;
          }
      

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-19
        相关资源
        最近更新 更多