首页 > 代码库 > WPF Demo5
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="http://www.mamicode.com/true"/> <Setter Property="OverridesDefaultStyle" Value="http://www.mamicode.com/true"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ListBoxItem"> <Border Name="Border" Padding="2" SnapsToDevicePixels="true"> <ContentPresenter /> </Border> <ControlTemplate.Triggers> <Trigger Property="IsSelected" Value="http://www.mamicode.com/true"> <Setter TargetName="Border" Property="Background" Value="http://www.mamicode.com/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>
运行效果如下:
WPF Demo5
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。