【问题标题】:With the Telerik Silverlight controls, how can I cast a RadMaskedTextBox as a TextBox使用 Telerik Silverlight 控件,如何将 RadMaskedTextBox 转换为 TextBox
【发布时间】:2011-05-22 00:35:19
【问题描述】:

我正在尝试确定 Telerik RadMaskedTextBox 是否允许多行输入。

作为调试器,我能够找到并检查底层文本框的 .AcceptsReturn 属性,使用:

((System.Windows.Controls.TextBox)(((Telerik.Windows.Controls.RadMaskedTextBox)(this)).textBox)).AcceptsReturn;

但是,当我将其粘贴到我的 C# 代码中时,编译器会抱怨 RadMaskedTextBox 无法转换为 TextBox

有点奇怪,因为调试器允许这样做。

调试器还允许:

((System.Windows.Controls.TextBox)(((Telerik.Windows.Controls.RadMaskedTextBox)(this)).textBox)).TextWrapping

这是编译器抱怨的

有什么想法吗?

【问题讨论】:

  • 可能是textBox protected 还是private
  • @Todda;是的,这个控件的 TextBox 是 RadMaskedTextBox 的私有成员

标签: silverlight telerik radmaskedtextbox


【解决方案1】:

我过去曾尝试过这样做(抱歉不记得具体的方法了),但我不得不遍历对象并找到文本框控件。如果我能找到我做的项目,我会更新我的答案。

【讨论】:

  • 所以我调查了一下,这个控件的 TextBox 实际上是 RadMaskedTextBox 的私有成员。我想在我最终创建自己的类之前,我可以使用 Reflector 访问文本框。您也许可以使用反射来访问该成员,但我个人不会走这条路。
【解决方案2】:

来自 Telerik 支持论坛:

底层文本框是扩展文本框类型。你可以这样访问它:

var innerBox = this.masktextBox.ChildrenOfType<Telerik.Windows.Controls.MaskedTextBox.ExtendedTextBox>().FirstOrDefault();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-27
    • 2014-04-20
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    相关资源
    最近更新 更多