创建一个显示所有预定义WPF颜色的ListBox

简介: 原文 Creating a ListBox that Shows All Predefined WPF Colors 在WPF中,您可以使用Colors类访问一系列预定义颜色,这些颜色定义为Colors类的静态属性。

原文 Creating a ListBox that Shows All Predefined WPF Colors

在WPF中,您可以使用Colors类访问一系列预定义颜色,这些颜色定义为Colors类的静态属性只需使用颜色名称引用每种颜色。

作为参考,这里是一个小应用程序,显示ListBox中的所有颜色(感谢casperOne,在stackoverflow文章中展示了如何创建一个封装Colors中属性列表的对象)。

这是最终的结果。(单击图像可查看其全尺寸)。

用于生成此列表的XAML非常简单:

<Window
    x:Class="WpfApp5.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    x:Name="Window"
    Title="All Colors"
    Width="800"
    Height="600"
    mc:Ignorable="d">

    <Window.Resources>
        <ObjectDataProvider
            x:Key="colorsTypeOdp"
            MethodName="GetType"
            ObjectType="{x:Type sys:Type}">
            <ObjectDataProvider.MethodParameters>
                <sys:String>
                    System.Windows.Media.Colors, PresentationCore,
                    Version=3.0.0.0, Culture=neutral,
                    PublicKeyToken=31bf3856ad364e35
                </sys:String>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>

        <ObjectDataProvider
            x:Key="colorPropertiesOdp"
            MethodName="GetProperties"
            ObjectInstance="{StaticResource colorsTypeOdp}" />
    </Window.Resources>

    <ListBox
        ItemsSource="{Binding Source={StaticResource colorPropertiesOdp}}"
        ScrollViewer.HorizontalScrollBarVisibility="Disabled"
        ScrollViewer.VerticalScrollBarVisibility="Auto">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Vertical">
                    <Rectangle
                        Width="81"
                        Height="50"
                        Margin="4"
                        Fill="{Binding Path=Name}"
                        Stroke="Black"
                        StrokeThickness="1" />
                    <Label Content="{Binding Path=Name}" />
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</Window>

 

目录
相关文章
|
3月前
|
存储 搜索推荐 C#
WPF/C#:让绘制的图形可以被选中并将信息显示在ListBox中
WPF/C#:让绘制的图形可以被选中并将信息显示在ListBox中
42 0
|
C# 虚拟化 开发者
WPF技术之ListBox控件
WPF ListBox控件是一种用于显示和选择多个项的常用控件。它可以展示任意类型的数据,并允许用户通过鼠标或键盘进行选择操作
1212 0
WPF-样式问题-处理ListBox、ListView子项内容全填充问题
WPF-样式问题-处理ListBox、ListView子项内容全填充问题
220 0
WPF-样式问题-ListBox或ListView中子项全填充去除边线问题
WPF-样式问题-ListBox或ListView中子项全填充去除边线问题
175 0
如何解决WPF中 ScrollViewer 内包含 TreeView 或者 ListBox 等控件时滚轮事件被劫持的问题
如何解决WPF中 ScrollViewer 内包含 TreeView 或者 ListBox 等控件时滚轮事件被劫持的问题
|
算法 C# 图形学
WPF绘制深度不同颜色的3D模型填充图和线框图
原文:WPF绘制深度不同颜色的3D模型填充图和线框图 在机械测量过程中,测量的数据需要进行软件处理。通常测量一个零件之后,需要重建零件的3D模型,便于观察测量结果是否与所测工件一致。
2983 0
|
C#
wpf listbox 选中项 上移下移
原文:wpf listbox 选中项 上移下移 private void MoveUp_Click(object sender, RoutedEventArgs e)         {             DataRowView rowView = this.
1176 0
|
C#
WinForm和WPF颜色对象的转换
原文:WinForm和WPF颜色对象的转换 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huangli321456/article/details/52956846 ...
872 0
|
C#
【WPF】ListBox GridViewColumn Header 文字换行、文字多行显示
原文:【WPF】ListBox GridViewColumn Header 文字换行、文字多行显示 ListBox GridViewColumn Header 文字换行、文字多行显示,在Header中需要换行的地方写 &#x0a; 列内容绑定到ViewModel中自定义的属性即可。
1875 0
|
C#
【WPF】ListBox嵌套与事件冒泡
原文:【WPF】ListBox嵌套与事件冒泡 问题:两个ListBox嵌套后,当鼠标位于内部ListBox上,鼠标滚轮事件会被内部ListBox接收,导致外层ListBox不能用鼠标滚轮滑动!现在的需求是该事件要能给外部ListBox处理,即嵌套的ListBox应该由外层ListBox来接收鼠标滚轮事件。
1331 0