2

我在弄清楚如何在我的项目的另一个 XAML 文件中引用 Canvas 时遇到问题。

例如,有一个包含一些标签的 Canvas 对象,称为 MyLayout 的图像并存储在 MyLayout.xaml

我想在 Window.xaml 中的应用程序的主窗口中使用这个 Canvas。如何才能做到这一点?将需要将多个布局加载到窗口中。

所有 XAML 都在项目中并编译它不能从文件加载。

如何在 Window.xaml 中的 MyLayout.xaml 文件中引用 Canvas 对象?

这可以在 XAML、VB.NET 代码甚至 C# 中。

我已经搜索了几个小时试图弄清楚这一点。如何在另一个 XAML 文件中使用一个对象?这是怎么做到的?

提前致谢。我希望有人知道如何做到这一点。

4

2 回答 2

1

您是否考虑过使用 UserControl 或 ControlTemplate?

于 2009-01-27T14:39:18.443 回答
0

由于您的 Canvas 对象实际上是 Canvas 的子类,因此该子类在您的程序集中定义。xmlns您可以通过向根 XAML 对象添加另一个属性来引用在其他命名空间中定义的对象。

像这样的东西(假设你的 Canvas 子类MyCanvasMyNamespace命名空间中被调用):

<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 类的属性。

于 2009-01-29T20:11:21.790 回答