`
阅读更多
WPF控件内容模型主要指派生于System.Windows.Controls.Control类的各种控件,其主要分为四部分:

•ContentControl
•HeaderedContendControl
•ItemsControl
•HeaderedItemsControl
这四个类用作为 WPF 中大多数控件的基类。使用这些内容模型的类可以包含相同类型的内容,并以相同的方式处理该内容;可以放置在某个 ContentControl(或从 ContentControl 继承的类)中的任何类型的对象都可以放置在具有其他三个内容模型中的任何一个的控件中。如:
<Window x:Class="WpfApplication1.控件内容模板"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="控件内容模板" Height="300" Width="300">
    <Grid ShowGridLines="True">
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
          
        </Grid.ColumnDefinitions>

        <!--ContentControl示例(Button)-->
        <TextBlock Text="ContentControl_Test" Grid.Column="0" Grid.Row="0"/>
        <Button Margin="0,25,5,10"  Grid.Column="0" Grid.Row="0">
            <Button.Content>
                <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
                    <Image Source="image/1.jpg" Width="100" Height="80"></Image>
                    <TextBlock Text="美丽的花儿" HorizontalAlignment="Center"></TextBlock>
                </StackPanel>
            </Button.Content>
        </Button>
       
        <!--HeaderedContentControl示例(GroupBox)-->
        <TextBlock Text="HeaderedContentControl"  Grid.Row="0" Grid.Column="1" HorizontalAlignment="Center"/>
        <GroupBox Margin="5,20,5,5" Grid.Row="0" Grid.Column="1">
            <GroupBox.Header>
                <TextBlock Text="Header Text"/>
            </GroupBox.Header>
            <GroupBox.Content>
                <StackPanel>
                    <Image Source="image/2.jpg" Height="60"></Image>
                    <TextBlock Text="小图片2" HorizontalAlignment="Center"/>
                </StackPanel>
            </GroupBox.Content>
        </GroupBox>
       
         <!--ItemsControl示例(ListBox)-->
        <TextBlock Text="ItemsControl"  Grid.Row="1" Grid.Column="0" HorizontalAlignment="Center"/>
        <ListBox  Margin="5,20,5,5" Grid.Row="1" Grid.Column="0">
            <ListBox.Items>
                <TextBlock Text="List A Item"/>
                <Button Content="List B item" Click="Button_Click"/>
                <StackPanel>
                    <Image Source="image/3.jpg" Height="50"/>
                    <TextBlock HorizontalAlignment="Center">小图片3</TextBlock>
                </StackPanel>
            </ListBox.Items>
        </ListBox>
       
         <!--HeaderedItemsControl示例(TreeView)-->
        <TextBlock Text="HeaderedItemsControl"  Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center"/>
        <TreeView Margin="5,20,5,5" Grid.Row="1" Grid.Column="1">
            <TreeViewItem> 
                <TreeViewItem.Header>  Tree Root Node A  </TreeViewItem.Header>
                <TreeViewItem.Items> 
                    <TextBlock Text="Node A - 1" />
                    <Button Content="Node A - 2" />
                    <StackPanel  Orientation="Horizontal">
                        <Image Source="Image/4.jpg" Width="48" Height="48" />
                        <TextBlock Text="图片4" HorizontalAlignment="Center" VerticalAlignment="Center" />
                    </StackPanel> 
                </TreeViewItem.Items>
            </TreeViewItem>
             <TreeViewItem> 
                <TreeViewItem.Header>
                    Tree Node B 
                </TreeViewItem.Header> 
                <TreeViewItem.Items> 
                    <TextBlock Text="Node B - 1" />
                    <Button Content="Node B - 2" Click="Button_Click" />
                </TreeViewItem.Items> 
            </TreeViewItem> 
        </TreeView>
       
        <StackPanel  Grid.Column="0" Grid.Row="2">
            <Button >
            <!--Stretch="Fill" 表示填充满格-->
            <Image Source="image/5.jpg" Height="50"/>
            </Button>
            <Button Content="测试" Height="50"/>
        </StackPanel>

    </Grid>
</Window>
效果如下:
  • 大小: 27.5 KB
分享到:
评论

相关推荐

    WPF 控件内容模型

    WPF控件内容模型由四个基本类构成,它们分别是`ContentControl`、`HeaderedContentControl`、`ItemsControl`以及`HeaderedItemsControl`。 1. **ContentControl**: `ContentControl`是最基础的内容模型,它允许...

    WPF经典教程之WPF控件内容模型

    通过理解WPF控件内容模型,开发者能够更好地利用WPF的强大功能来创建美观且功能丰富的用户界面。如果你想要深入学习,可以参考提供的博客链接,那里可能包含了更详细的解释和更多的示例。此外,WPF的其他教程,如...

    使用WPF控件编程使用WPF控件编程使用WPF控件编程

    标题强调了WPF控件编程的重要性和可能包含的内容,例如控件的使用和编程模型的介绍。 在描述部分,重复出现的“使用WPF控件编程”强调了WPF控件编程是学习和开发WPF应用程序不可或缺的一环,涉及编程基础、XAML语言...

    非托管MFC调用WPF控件

    非托管MFC调用WPF控件是一种技术融合,它涉及到两种不同的编程模型:Microsoft Foundation Classes (MFC) 和Windows Presentation Foundation (WPF)。MFC是微软为C++开发者提供的一个面向对象的库,主要用于构建传统...

    wpf控件库重写美化了各控件,如按钮、表格等

    标题“wpf控件库重写美化了各控件,如按钮、表格等”和描述“wpf控件库重写所有基础控件(按钮、表格、滚动条等美化),非常漂亮”都指向一个主题:对WPF原生控件的自定义和美化工作。 首先,我们要理解WPF中的控件...

    VC添加WPF控件

    在WPF控件中定义事件,然后在MFC代码中订阅这些事件,以便在WPF控件触发事件时执行相应的MFC代码。 9. **调试和测试** 编译并运行项目,确保WPF控件能正确地在MFC应用程序中显示并交互。在调试过程中,可能会遇到...

    WPf 经典教程

    (1) WPF体系结构 (2) WPF应用程序管理 ...(7).WPF控件模型 (8).WPF控件内容模型 (9) .Panel Decorator TextBlock内容模型 (10). 依赖项属性和路由事件 (11).键盘输入、鼠标输入、焦点处理 (12).WPF命令 (13) WPF资源

    wpf经典教程,3D特效界面

    (7).WPF控件模型 .doc (8).WPF控件内容模型.doc (9) .Panel Decorator TextBlock内容模型.doc (10). 依赖项属性和路由事件.doc (11).键盘输入、鼠标输入、焦点处理.doc (12).WPF命令.doc (13) WPF资源.doc wpf经典...

    《WPF经典教程 》WORD完美珍藏版

    (7).WPF控件模型 .doc (8).WPF控件内容模型.doc (9) .Panel Decorator TextBlock内容模型.doc (10). 依赖项属性和路由事件.doc (11).键盘输入、鼠标输入、焦点处理.doc (12).WPF命令.doc (13) WPF资源.doc

    WPF控件document.pdf

    包含WPF大部分控件的详细描述(706页) 包括属性、事件、模板类型等。...内容模型概述了适用于 WPF 控件和类似控件的类型的内容模型。 内容模型描述可在控件中使用的内容。 本主题还 列出了每个内容模型的内容属性

    WPF控件在c#中WINFORM的应用

    4. **设置`Child`属性**:将创建的WPF控件赋值给`WindowsFormsHost.Child`属性,这样就将WPF控件嵌入到了WinForms中。 5. **布局管理**:由于WPF和WinForms的布局管理机制不同,可能需要对控件的位置和大小进行手动...

    WPF控件示例大全

    通过“WPF控件示例大全”提供的微软控件示例,开发者不仅可以了解这些概念,还能看到实际的代码示例,从而快速掌握WPF控件的使用方法,提升开发技能。实践中学习,理论与实践相结合,是成为WPF开发高手的关键步骤。

    Win32中创建并承载WPF控件并与WPF控件通信

    3. **创建WPF控件实例**:使用`System.Windows.Markup.XamlReader`类解析XAML文件,创建WPF控件的实例。例如,我们可以加载一个名为`MyPage.xaml`的文件,其中定义了一个用户控件。 4. **承载WPF控件**:在Win32...

    WPF控件和布局

    WPF控件可大致分为以下六类: - **布局控件**(如Panel):用于组织和排列其他控件,提供基本的布局管理。 - **内容控件**(如ContentControl):只能包含单个子元素或布局。 - **带标题内容控件**(如...

    WPF控件继承树.pdf

    首先,WPF控件的根类是System.Object,它是.NET框架中所有类的最终基类。从System.Object继承下来,首先是System.Windows.Threading.DispatcherObject,这个类与WPF的线程模型相关,用于确保UI线程的安全访问。紧...

    WPF 控件开发教程

    Xceed.Wpf.Toolkit.dll是Xceed的工具包,包含了各种WPF控件和实用程序,这些可以帮助开发者快速构建用户界面,比如日期选择器、数字输入框等,提供了丰富的UI元素来满足不同需求。 Xceed.Wpf.AvalonDock.dll则是一...

    C# Winform使用WPF控件

    本文将深入探讨如何在C#的Winform应用中集成和使用WPF控件,以利用其强大的特性。 首先,让我们了解Winform和WPF的基本概念。Winform是.NET Framework的一部分,提供了一套简单的API来构建传统的Windows GUI应用...

    wpf异步加载5w控件_wpf控件_wfp_pleasefu4_

    WPF控件是构建用户界面的基本元素,包括按钮、文本框、列表视图等。它们在设计时提供了丰富的功能和自定义选项,但在处理大量数据时,同步加载这些控件可能会导致UI冻结,因为所有操作都在主线程上执行。为了解决这...

    WPF经典教程之WPF命令

    WPF中的命令路由与事件路由是两个很让...WPF经典教程之WPF控件模型 http://download.csdn.net/detail/cleopard/8002999 WPF经典教程之WPF控件内容模型 http://download.csdn.net/detail/cleopard/8003009 等。。。。

    WPF 开源控件库(含Demo)

    2. `HandyControl.dll`:这是核心的开源控件库,包含了各种自定义的WPF控件,如按钮、表格、日历、进度条等。这些控件通常具有更丰富的样式和功能,超越了WPF框架自带的标准控件。 3. `System.Windows....

Global site tag (gtag.js) - Google Analytics