如何在WPF中设计这样的区域设置

时间:2016-05-11 06:49:33

标签: c# wpf mvvm combobox

直到现在我有一个组合框控件,它将UI中的所有可用区域语言显示为组合框项。

它在WPF和MVVM中

<ComboBox
   x:Name="cbLanguage"
   Grid.Row="1" 
   Height="30"
   Width="200"
   HorizontalAlignment="Center"
   VerticalAlignment="Top"
   ItemsSource="{Binding LocalLanguages,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
   SelectedIndex="0">

但是我看到了这个窗口,并认为这看起来更加清晰和现代。 enter image description here

enter image description here

我可以在WPF中使用类似的窗口吗?

我尝试使用列表框,列表视图更改Combobox,但没有结果。

如果WPF中有任何控件可以执行此操作,那么任何帮助。

这解决了许多问题,如果组合框有超过10个项目,用户必须滚动浏览全部,然后选择最后一个索引。但通过这种方式,用户可以选择任何本地人,因为所有人都在UI中显示。甚至用户也可以选择按字母顺序显示。

2 个答案:

答案 0 :(得分:2)

使用UniformGrid作为ItemsPanel

,可以实现3列中的arraging项目
<ComboBox.ItemsPanel>
    <ItemsPanelTemplate >
        <UniformGrid Columns="3"/>
    </ItemsPanelTemplate>
</ComboBox.ItemsPanel>

修改ItemTemplate以更改项目外观并为所选项目设置绿色

我认为有必要修改ComboBox模板以在dropDown中使用自定义页眉和页脚(Edit Template - Edit a Copy在Visual Studio设计器中)

答案 1 :(得分:1)

在WPF中,当按下Popup时,组合框基本上是toggle button

您可以实施自己的popup,也可以查看template的{​​{1}}。这是ComboBox template

的链接