在自定义控件库中创建了一个只包含RichTextBox(System.Windows.Controls.RichTextBox)的控件。该控件被添加到WinForms窗体中。问题是访问它的方法和属性。使用var rich = elementHost1.Child as System.Windows.Controls.RichTextBox时,rich变量包含null。
var rich = elementHost1.Child as System.Windows.Controls.RichTextBox
rich
null
pxyaymoc1#
WpfControlLibrary1.UserControl1如果我没理解错你的解释,那么试试这个:
WpfControlLibrary1.UserControl1 control = (WpfControlLibrary1.UserControl1) elementHost1.Child; System.Windows.Controls.RichTextBox rich = (System.Windows.Controls.RichTextBox) control.Content;
System.InvalidCastException:无法将类型为“系统.Windows.控件.网格”得对象强制转换为类型“系统.Windows.控件.RichTextBox.”那么您没有正确解释“仅包含RichTextBox”。需要更改代码以考虑网格:
WpfControlLibrary1.UserControl1 control = (WpfControlLibrary1.UserControl1) elementHost1.Child; System.Windows.Controls.Grid grid = (System.Windows.Controls.Grid) control.Content; System.Windows.Controls.RichTextBox rich = (System.Windows.Controls.RichTextBox) grid.Children[0];
1条答案
按热度按时间pxyaymoc1#
WpfControlLibrary1.UserControl1
如果我没理解错你的解释,那么试试这个:
System.InvalidCastException:无法将类型为“系统.Windows.控件.网格”得对象强制转换为类型“系统.Windows.控件.RichTextBox.”
那么您没有正确解释“仅包含RichTextBox”。
需要更改代码以考虑网格: