• WPF Demo5


    <Application x:Class="Demo5.App"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 StartupUri="MainWindow.xaml">
    
        <!--StartupUri="MainWindow.xaml"   启动页-->
        <Application.Resources>
             
        </Application.Resources>
    </Application>
    

      

    <Window x:Class="Demo5.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <XmlDataProvider x:Key="xmlData" XPath="/countries/country">
                <!-- 示例数据 -->
                <x:XData>
                    <countries xmlns="">
    
                        <country name="中国">
                            <province name="陕西">
                                <city>西安</city>
                                <city>宝鸡</city>
                            </province>
                            <province name="山西">
                                <city>太原</city>
                                <city>大同</city>
                            </province>
                            <province name="内蒙古自治区">
                                <city>呼和浩特</city>
                                <city>包头</city>
                                <city>集宁</city>
                            </province>
                            <province name="河北">
                                <city>石家庄</city>
                                <city>保定</city>
                            </province>
                        </country>
    
                        <country name="美国">
                            <province name="加利福尼亚">
                                <city>洛杉矶</city>
                                <city>圣迭戈</city>
                            </province>
                            <province name="福罗里达">
                                <city>杰克逊维尔</city>
                                <city>迈阿密</city>
                            </province>
                        </country>
    
                    </countries>
                </x:XData>
            </XmlDataProvider>
    
            <Style TargetType="HeaderedContentControl">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="HeaderedContentControl">
                            <DockPanel>
                                <Border DockPanel.Dock="Top"  Margin="3"  CornerRadius="3"   Background="DarkRed">
                                    <TextBlock Text="{TemplateBinding Header}"  HorizontalAlignment="Center" Foreground="White"/>
                                </Border>
                                <ContentPresenter ContentSource="Content" ContentTemplate="{TemplateBinding ContentTemplate}"/>
                            </DockPanel>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
    
            <Style TargetType="ListBoxItem">
                <Setter Property="SnapsToDevicePixels" Value="true"/>
                <Setter Property="OverridesDefaultStyle" Value="true"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="ListBoxItem">
                            <Border Name="Border"  Padding="2" SnapsToDevicePixels="true">
                                <ContentPresenter />
                            </Border>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsSelected" Value="true">
                                    <Setter TargetName="Border" Property="Background" Value="YellowGreen"/>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
    
        </Window.Resources>
        <Grid DataContext="{Binding Source={StaticResource xmlData}}">
            <Grid.ColumnDefinitions>
                <ColumnDefinition></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
            </Grid.ColumnDefinitions>
    
            <HeaderedContentControl Header="国家">
                <ListBox ItemsSource="{Binding}" DisplayMemberPath="@name" IsSynchronizedWithCurrentItem="True"/>
            </HeaderedContentControl>
            
            <HeaderedContentControl Header="省/州" Grid.Column="1">
                <ListBox Name="lbxProvince" ItemsSource="{Binding XPath=province}"
                              DisplayMemberPath="@name" IsSynchronizedWithCurrentItem="True"/>
            </HeaderedContentControl>          
            
            <HeaderedContentControl Header="城市" Grid.Column="2">
                <ListBox DataContext="{Binding ElementName=lbxProvince, Path=SelectedItem}"
                              ItemsSource="{Binding XPath=city}"
                              IsSynchronizedWithCurrentItem="True"/>
            </HeaderedContentControl>
        </Grid>
    </Window>
    

    运行效果如下:

  • 相关阅读:
    杭电2054
    M1/M2总结
    软件开发相关的读书笔记 问题与方法
    代码复审1234跟我一起来
    电梯调度算法简述
    Pair_Work Project
    读书笔记摘录:
    Individual Project
    个人阅读作业——软件工程M1/M2的总结
    个人阅读作业2
  • 原文地址:https://www.cnblogs.com/YYkun/p/6866873.html
Copyright © 2020-2023  润新知