【问题标题】:Load colors into comboBox将颜色加载到组合框
【发布时间】:2011-10-13 15:15:35
【问题描述】:

我正在制作一个自制的文本编辑器,并在其中尝试制作一个用于更改文本颜色的控件,在我的工具栏上,我有一个组合框,我希望能够在其中加载系统颜色,以便用户可以更改所选文本的颜色。我不知道如何用这些颜色填充组合框,我尝试了我在 page_loaded 事件中在互联网上找到的各种东西,但似乎无法让它工作。希望能帮到你

谢谢牛肉

【问题讨论】:

    标签: c# xaml combobox colors text-editor


    【解决方案1】:

    您可以使用此代码来填充包含所有颜色列表的组合框

    声明一个资源

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

    然后像这样在组合框中使用该资源

    <ComboBox Name="comboBox1" ItemsSource="{Binding Source={StaticResource colorPropertiesOdp}}" DisplayMemberPath="Name" SelectedValuePath="Name" />
    

    为了使用sys:string,您必须包括 xmlns:sys="clr-namespace:System;assembly=mscorlib"

    【讨论】:

    • 谢谢,但是我应该在 xaml 代码的什么地方声明资源?现在我把它放在我的 标记中,但尝试使用类型 时出错
    • 查看更新的答案。在Window 中添加标签&lt;Window.Resources&gt; declare resource here &lt;Window.Resources/&gt; 并在其中声明资源
    • 谢谢,我现在可以使用了,你知道是否有办法让实际颜色显示在对应的名称旁边
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多