首页 > 其他分享 >WPF GroupBox Expander ExpandDirection="Down" Expander.HeaderTemplate Expander.ContentTemp

WPF GroupBox Expander ExpandDirection="Down" Expander.HeaderTemplate Expander.ContentTemp

时间:2024-04-07 23:55:52浏览次数:22  
标签:ContentTemplate HeaderTemplate Windows System public using MainWindow Expander

//xaml
<Window x:Class="WpfApp43.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp43"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <StackPanel>
        <GroupBox Margin="10">
            <GroupBox.Header>
                <StackPanel Orientation="Horizontal">
                    <Image Source="pack://application:,,,/cl3.jpg" Height="10" Width="10"/>
                    <TextBlock Text="Tea Options" Margin="6,0,0,0"/>
                </StackPanel>
            </GroupBox.Header>
            <StackPanel>
                <CheckBox Margin="4">Sugar</CheckBox>
                <CheckBox Margin="4">Mint</CheckBox>
                <CheckBox Margin="4">Milk</CheckBox>
                <CheckBox Margin="4">Cinnnamon</CheckBox>
            </StackPanel>
        </GroupBox>
        <Expander Margin="10" x:Name="_bookInfo" ExpandDirection="Down">
            <Expander.HeaderTemplate>
                <DataTemplate>
                    <Border BorderBrush="Blue" BorderThickness="1"
                            Padding="4">
                        <TextBlock Text="{Binding Name,StringFormat=Book:{0}}"/>
                    </Border>
                </DataTemplate>
            </Expander.HeaderTemplate>
            <Expander.ContentTemplate>
                <DataTemplate>
                    <Border BorderBrush="Blue" BorderThickness="2" Padding="4">
                        <StackPanel>
                            <TextBlock Text="{Binding Name,StringFormat=Name:{0}}"/>
                            <TextBlock Text="{Binding Author,StringFormat=Author:{0}}"/>
                            <TextBlock Text="{Binding YearPublished,StringFormat=Published:{0}}"/>
                        </StackPanel>
                    </Border>
                </DataTemplate>
            </Expander.ContentTemplate>
        </Expander>
    </StackPanel>
    
</Window>


//cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApp43
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            SetBookInfo();
        }

        private void SetBookInfo()
        {
            _bookInfo.Content = _bookInfo.Header = new Book
            {
                Name = "Windows Internals",
                Author = "Mark Russinovich",
                YearPublished = 2009
            };
        }
    }

    internal class Book
    {
        public string Name { get; set; }
        public string Author { get; set; }
        public int YearPublished { get; set; }
    }
}

 

标签:ContentTemplate,HeaderTemplate,Windows,System,public,using,MainWindow,Expander
From: https://www.cnblogs.com/Fred1987/p/18120193

相关文章

  • 【愚公系列】2023年09月 WPF控件专题 Expander控件详解
    (文章目录)前言WPF控件是WindowsPresentationFoundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。原生控件是由Microsoft提供的内置控件,如Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见......
  • dataTemplate 之 ContentTemplate 的使用
    <Windowx:Class="WpfApplication1.Window38"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:Wp......