创建一个“接受”直接内容的DependencyObject

时间:2011-11-24 19:47:47

标签: c# wpf dependencyobject

我正在创建一个应该在空XAML文件中使用的自定义时间:

<windows:BlackAndWhiteWindow x:Class="GSdk.Shared.Windows.TestWindow"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:windows="clr-namespace:GSdk.Shared.Windows"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <windows:AnotherDependencyObject>A string</windows:AnotherDependencyObject>
</windows:BlackAndWhiteWindow>

如何有效地允许我的自定义类BlackAndWhite窗口(继承自DependencyObject和IDisposable)允许接受从visual studio定义的那些&#34;直接内容&#34;?

1 个答案:

答案 0 :(得分:5)

您需要将BlackAndWhiteWindow类的某个属性标记为“content”属性。您可以通过应用ContentPropertyAttribute来完成此操作。

有关如何创建XAML友好类型的详细信息,请参阅以下链接:http://msdn.microsoft.com/en-us/library/ms753379.aspx

另一个选项(首选)是从一个WPF基类继承您的类,例如ContentControlItemsControl。他们已经拥有所有基础设施和财产。