我正在关注此事:WPF WebBrowser Control Custom Property
我得到与用户相同的错误在“WebBrowser”类型中找不到属性“Html”。
我已经完成了建议和更改命名空间的用户,但错误仍然存在,我唯一能想到的是我是如何添加课程的......我右键单击了我的项目解决方案资源管理器并添加了一个类文档然后在其中创建复制代码。
有什么想法吗?我知道这对我来说是个蠢货。
我所做的一些截图和代码,这是一个新的测试项目,所以我可以排除其他任何事情:
BrowserHtmlBinding.vb
Public Class BrowserHtmlBinding
Private Sub New()
End Sub
Public Shared BindableSourceProperty As DependencyProperty =
DependencyProperty.RegisterAttached("Html",
GetType(String),
GetType(WebBrowser),
New UIPropertyMetadata(Nothing,
AddressOf BindableSourcePropertyChanged))
Public Shared Function GetBindableSource(obj As DependencyObject) As String
Return DirectCast(obj.GetValue(BindableSourceProperty), String)
End Function
Public Shared Sub SetBindableSource(obj As DependencyObject, value As String)
obj.SetValue(BindableSourceProperty, value)
End Sub
Public Shared Sub BindableSourcePropertyChanged(o As DependencyObject, e As DependencyPropertyChangedEventArgs)
Dim webBrowser = DirectCast(o, System.Windows.Controls.WebBrowser)
webBrowser.NavigateToString(DirectCast(e.NewValue, String))
End Sub
End Class
MainWindow.xaml
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:custom="clr-namespace:WpfApplication2"
Title="MainWindow" Height="350" Width="525">
<Grid>
<WebBrowser custom:Html="<b>Hey Now</b>" />
</Grid>
</Window>
编辑:正如马克指出我在“webbrowser”控件上遗漏了一些文字,我已更新并生成了更多错误,但包括原始错误。
答案 0 :(得分:0)
您应该宣布Attached Property
,但 如果查看DependencyProperty.RegisterAttached
method,您会看到第二个Type
参数名为ownerType
。这是不您正在编写Type
的控件的Attached Property
,而是定义该属性的实际类的Type
。在您的情况下,那将是BrowserHtmlBinding
。
免责声明:您可能也有其他错误。
更新&gt;&gt;&gt;
好的,我在屏幕截图中看到了更多问题。你以某种方式设法在一个类中定义一个类,这是错误的。你的班级也没有命名空间......另一个错误。要解决此问题,请更改此信息:
Public Class BrowserHtmlBinding
Public Class BrowserHtmlBinding
...
End Class
End Class
对此:
Namespace WpfApplication2
Public Class BrowserHtmlBinding
...
End Class
End Namespace
现在BrowserHtmlBinding
类将位于WpfApplication2
命名空间中。
最后,如果您仍然遇到问题,请阅读MSDN上Attached Properties Overview页面的自定义附加属性部分,以确保您已正确声明Attached Property
。