将颜色加载到comboBox中

时间:2011-07-26 17:45:15

标签: c# xaml combobox colors text-editor

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

谢谢牛肉

1 个答案:

答案 0 :(得分:4)

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

声明资源

<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"