【发布时间】:2016-01-09 12:31:45
【问题描述】:
我有一个 C# WPF 4.51 应用程序。据我所知,您不能绑定到属于 WPF WindowsFormsHost 控件的子对象的属性。 (如果我在这个假设中错了,请告诉我怎么做):
在我的例子中,我有一个页面包含一个 WindowsFormsHost 控件,其 Child 对象是一个 ScintillaNET 编辑器控件:
https://github.com/jacobslusser/ScintillaNET
<WindowsFormsHost x:Name="wfhScintillaTest"
Width="625"
Height="489"
Margin="206,98,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top">
<WindowsFormsHost.Child>
<sci:Scintilla x:Name="scintillaCtl" />
</WindowsFormsHost.Child>
</WindowsFormsHost>
子控件可以正常工作并显示。如果它是一个普通的 WPF 控件,我会将 Scintilla 编辑器控件的 Text 属性绑定到我的 ViewModelstring 属性/em>,所以我要更新 Scintilla 编辑器控件的内容所要做的就是更新 string 属性。
但由于我无法绑定到属于 WindowsFormsHost 子对象的属性,因此我正在寻找一种不完全笨拙或笨拙的策略/解决方案。有没有人遇到过这种情况并且有一个合理的策略来解决我的绑定/更新问题?
【问题讨论】:
-
WinForm 的控件属性是如何设置的?也许有什么可以在您的 VM 中公开它的设置?
标签: c# wpf xaml scintilla windowsformshost