C# 访问在XAML WPF中创建的UI元素
我有 在同一命名空间中创建的类。我不能在XAML中使用Canvas2。 如何使Canvas2在XAML代码中可访问?C# 访问在XAML WPF中创建的UI元素,c#,wpf,wpf-controls,C#,Wpf,Wpf Controls,我有 在同一命名空间中创建的类。我不能在XAML中使用Canvas2。 如何使Canvas2在XAML代码中可访问? 我是新手。您还必须将本地名称空间导入XAML。 检查示例。您还必须将本地名称空间导入XAML。 检查示例。定义xmlns,如xmlns:local=“clr namespace:WpfApplication1”假设Canvas2是在命名空间WpfApplication1中定义的 然后您可以使用Canvas2作为 感谢定义xmlns,如xmlns:local=“clr namesp
我是新手。您还必须将本地名称空间导入XAML。
检查示例。您还必须将本地名称空间导入XAML。
检查示例。定义xmlns,如
xmlns:local=“clr namespace:WpfApplication1”
假设Canvas2是在命名空间WpfApplication1中定义的
然后您可以使用Canvas2作为
感谢定义xmlns,如
xmlns:local=“clr namespace:WpfApplication1”
假设Canvas2是在命名空间WpfApplication1中定义的
然后您可以使用Canvas2作为
谢谢一个又快又脏的回答:在你的AssemblyInfo.cs中添加以下行
[程序集:XmlnsDefinition(“http://schemas.microsoft.com/winfx/2006/xaml/presentation“,“YourNamespace”)]
通过这种方式,可以将名称空间中的所有类添加到默认WPF XML名称空间。然后可以直接使用类,而无需添加自定义xml命名空间
警告:即使这样做有效,也不是推荐的方法。特别是我不建议大型项目使用这种方法,因为它很容易导致名称冲突
正确的方法是添加一个自定义的XML名称空间,如所述的nit和AsitK。一个快速而肮脏的答案:将以下行添加到AssemblyInfo.cs
[程序集:XmlnsDefinition(“http://schemas.microsoft.com/winfx/2006/xaml/presentation“,“YourNamespace”)]
通过这种方式,可以将名称空间中的所有类添加到默认WPF XML名称空间。然后可以直接使用类,而无需添加自定义xml命名空间
警告:即使这样做有效,也不是推荐的方法。特别是我不建议大型项目使用这种方法,因为它很容易导致名称冲突
正确的方法是添加自定义XML名称空间,如nit和AsitK
class Canvas2:Canvas
{
}