我在弄清楚如何在我的项目中引用另一个XAML文件中的Canvas时遇到了问题。
例如,有一个包含一些标签的Canvas对象,名为MyLayout的图像,存储在MyLayout.xaml中
我想在Window.xaml中的应用程序的主窗口中使用此Canvas。如何才能做到这一点?将需要将多个布局加载到窗口中。
所有XAML都在项目中并且编译后无法从文件中加载。
如何在Window.xaml中的MyLayout.xaml文件中引用Canvas对象?
这可以是XAML,VB.NET代码甚至是C#。
我已经搜索了几个小时试图解决这个问题。如何在另一个XAML文件中使用对象?这是怎么做到的?
提前致谢。我希望有人知道如何做到这一点。
答案 0 :(得分:1)
您是否考虑过使用UserControl或ControlTemplate?
答案 1 :(得分:0)
由于Canvas对象实际上是Canvas的子类,因此在程序集中定义了该子类。您可以通过向根XAML对象添加另一个xmlns
属性来引用在其他命名空间中定义的对象。
这样的事情(假设您的Canvas子类在MyCanvas
命名空间中被称为MyNamespace
):
<Window x:Class="MyNamespace.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyNamespace">
<local:MyCanvas />
</Window>
您可以像设置任何其他对象一样设置MyCanvas类的属性。