SedotingIdem de Fundición de WPF Combobox a color causa excepción -- # campo con wpf campo con combobox campo con casting campo con selecteditem camp Relacionados El problema

Casting SelectedItem of WPF Combobox to Color causes exception


3
vote

problema

Español

Tengo una base de datos de ComboBox a los colores del sistema disponibles. Cuando el usuario selecciona un color, se enciende el siguiente código:

  private void cboFontColour_SelectionChanged(object sender, SelectionChangedEventArgs e) {     Color colour = (Color)(cboFontColour.SelectedItem); }   

Esto lanza una excepción de fundición con el siguiente mensaje: "El reparto especificado no es válido". Cuando flaco sobre CBOFONTCOLOUR.SELECTEDITEM en el depurador, siempre es un objeto de color.

No entiendo por qué el sistema aparentemente no puede arrojar de color a color, cualquier ayuda estaría muy obligada.

Original en ingles

I have a combobox databound to the available system colors. When the user selects a color the following code is fired:

private void cboFontColour_SelectionChanged(object sender, SelectionChangedEventArgs e) {     Color colour = (Color)(cboFontColour.SelectedItem); } 

This throws a Casting Exception with the following message: "Specified cast is not valid." When I hover over cboFontColour.SelectedItem in the debugger, it is always a Color object.

I do not understand why the system seemingly cannot cast from Color to Color, any help would be much obliged.

              
     
     

Lista de respuestas

0
 
vote

Siempre debe usar w:xpath3 y 99887776624 en lugar de la conversión de tipo directo. Además, asegúrese de que el color sea en realidad el mismo tipo que ve en el depurador.

 

You should always use is and as instead of direct type conversion. Additionally make sure that Color is actually the same type you see in the Debugger.

 
 
     
     
0
 
vote

¿Cómo configuró la unión a los colores del sistema disponibles? Si está utilizando las propiedades estáticas de la clase w:xpath525 , tenga en cuenta que, a pesar del nombre de la clase, no todas estas entradas son objetos de color (pero los compuertos solidales y los teclas de recursos también). Siempre puedes hacer un

  w:xpath6  

para verificar el tipo.

 

How did you set up the binding to the available system colors? If you are using the static properties of the SystemColors class then note that despite the name of the class, not all of these entries are Color objects (but SolidColorBrushes and ResourceKeys too). You can always do an

    MessageBox.Show(cboFontColour.SelectedItem.GetType().ToString());     // or     MessageBox.Show(cboFontColour.SelectedValue.GetType().ToString()); 

to check the type.

 
 
0
 
vote
vote
La mejor respuesta
 

ahh finalmente lo resolvió. Lo que la función realmente regresó fue una propiedad de propiedad en lugar de un color. No estoy seguro de cómo lo extrañé durante tanto tiempo

 

Ahh finally solved it. What the function actually returned was a DependancyProperty instead of a Color. Not sure how I missed it for so long

 
 
0
 
vote

Estaba recibiendo el mismo problema, y ​​ninguna de las sugerencias de esta pregunta funcionó. Seguí obteniendo excepciones al tratar de lanzar como (color), y el código ni siquiera compilaría si intentara usar 'COLOR?' o 'como'. Terminó subiendo con la siguiente solución. No es ideal, porque ahora tengo que crear un nuevo objeto, pero al menos funciona:

  string colorName = _comboBox.SelectedValue.ToString(); Color color = (Color)ColorConverter.ConvertFromString(colorName);   
 

I was getting the same problem, and none of the suggestions from this question worked. I kept getting exceptions when trying to cast as (Color), and the code wouldn't even compile if I tried using 'Color?' or 'as'. Ended up coming up with the following workaround. It's not ideal, because I now have to create a new object, but at least it works:

string colorName = _comboBox.SelectedValue.ToString(); Color color = (Color)ColorConverter.ConvertFromString(colorName); 
 
 

Relacionados problema

6  ¿Cómo resalto un elemento seleccionado de TreeView con algún color?  ( How do i highlight a treeview selected item with some color ) 
Tengo una vista de árbol en WPF. Quiero un color diferente cuando selecciono el TreeViewItem. ...

6  WPF ListView Mostrar elemento seleccionado  ( Wpf listview show selected item ) 
Quiero mostrar el elemento seleccionado en una vista de lista automáticamente (no es posible mostrar todos los artículos sin desplazamiento). this.listView...

3  Componente Angular Primeng Dropdown en formas reactivas - Valor inicial  ( Angular primeng dropdown component in reactive forms initial value ) 
Uso del componente desplegable de Primeng, estoy tratando de inicializar el menú desplegable con el valor inicial sin éxito, estoy usando un enfoque reactivo....

8  Estilo de artículo seleccionado de estilo personalizado de WPF XAML en un cuadro de lista  ( Wpf xaml custom styling selected item style in a listbox ) 
Tengo un ListBox que desplaza las imágenes horizontalmente. Tengo la siguiente mezcla de XAML, usé para crearlo. Originalmente tenía una llave X: X: Error...

12  Configure programáticamente la selección de ComboBoxItem en WPF (3.5SP1)  ( Programmatically set combobox selecteditem in wpf 3 5sp1 ) 
He estado confundido al configurar la programación seleccionada en aplicaciones WPF con Net Framework 3.5 SP1 instalado. He leído cuidadosamente acerca de los...

1  Cómo determinar WPF seleccionado para una ventana  ( How to determine wpf selecteditem for a window ) 
Tengo una aplicación WPF con muchos controles basados ​​en la lista en una ventana, que todos están vinculados a diferentes visibilistas. En el nivel de la ...

3  Listboch expandir elemento seleccionado  ( Listbox expand selected item ) 
Tengo el siguiente fragmento de código (copiar y pegar en kaxaml, xamlpad, etc. para probarlo) que colapsa todo menos el artículo seleccionado. Sin embargo, q...

3  Visualización del elemento seleccionado de manera diferente en Combobox  ( Displaying the selected item differently in combobox ) 
Tengo un cuadro combinado en el que configuré un package1111 que se ve algo así: package2 Como puede ver, obtuve tres columnas que dejan que el usuari...

13  WPF TabControl cambia la pestaña seleccionada  ( Wpf tabcontrol change selected tab ) 
hola tengo dos preguntas. ¿Cómo cambia programáticamente la pestaña seleccionada en un control de pestaña WPF de una pestaña a otra? ¿Cómo obtendría una ...

3  Listado de botones de WPF: Cómo cambiar el elemento seleccionado en Click con XAML  ( Wpf listbox of buttons how to change selected item on click with xaml ) 
Tengo un private void SelectCurrentItem(object sender, MouseButtonEventArgs e) { ListBoxItem item = (ListBoxItem) sender; item.IsSelected = true; } 4...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos