1 2 3 4 5 6 7 8 9 10 | <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> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | <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> |
运行效果如下:
博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本