需求一比较简单,window上加上如下两个属性设置:WindowStyle="None" AllowsTransparency="True"
需求2较为麻烦,只是简单填充内容的话貌似做不到X按钮右对齐,需要更改ComboBoxItem的Template,我这里给了个简单的示例,具体的需要你继续完善。
<Window x:Class="WpfApplication3.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" WindowStyle="None" AllowsTransparency="True"> <StackPanel> <DockPanel> <Button Content="X" DockPanel.Dock="Right" /> <TextBlock Text="这个是标题栏" /> </DockPanel> <ComboBox> <ComboBoxItem> <ComboBoxItem.Template> <ControlTemplate> <DockPanel > <Button Content="X" DockPanel.Dock="Right" /> <TextBlock Text="hello world 1" /> </DockPanel> </ControlTemplate> </ComboBoxItem.Template> </ComboBoxItem> <ComboBoxItem> <ComboBoxItem.Template> <ControlTemplate> <DockPanel > <Button Content="X" DockPanel.Dock="Right" /> <TextBlock Text="hello world 2" /> </DockPanel> </ControlTemplate> </ComboBoxItem.Template> </ComboBoxItem> </ComboBox> </StackPanel> </Window>
效果1:WPF的话就是使用WindowStyle="None",然后你自己画那个标题。
效果2:自定义combobox,这个可能很简单,找到这种组件就行。
也可能很麻烦,如果你要自己实现的话。
2:自己写comboboxItem