c# - Get the selected color from Colors listBox -


i'm trying shows colors in listbox. using example

and here's code

<window     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" mc:ignorable="d"     xmlns:local="clr-namespace:wpfapplication1"     xmlns:sys="clr-namespace:system;assembly=mscorlib"     x:class="wpfapplication1.mainwindow"     x:name="window"     title="all colors"     width="640" height="480" >      <window.resources>         <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>     </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 fill="{binding path=name}" stroke="black" margin="4" strokethickness="1" height="50" width="81"/>                 <label content="{binding path=name}" />             </stackpanel>         </datatemplate>     </listbox.itemtemplate>     </listbox> </window> 

i want selected color listbox selecteditem system.windows.media.color. return null when cast selected item color

enter image description here

that's because listbox.selecteditem of type system.reflection.propertyinfo. it's referencing static property of system.windows.media.color class holds selected color.

system.reflection.propertyinfo prop = (system.reflection.propertyinfo)listbox.selecteditem; color color = (color)prop.getvalue(null, null); string colorname = prop.name; 

color system.windows.media.color selected, , colorname name of property (such azure or aquamarine).


Comments

Popular posts from this blog

python - No exponential form of the z-axis in matplotlib-3D-plots -

php - Best Light server (Linux + Web server + Database) for Raspberry Pi -

c# - "Newtonsoft.Json.JsonSerializationException unable to find constructor to use for types" error when deserializing class -