combobox wpf
Habilitar un botón en WPF según ListBox.SelectedIndex (2)
Menos solución de código:
<Button Name="button1" IsEnabled="{Binding ElementName=listBox1, Path=SelectedItems.Count}" />
Si count es 0 que parece correlacionar con falso,> 0 a verdadero.
Tengo una situación de UI bastante clásica: dos ListBoxes llamados SelectedItems y AvailableItems , con la idea de que los elementos que ya ha seleccionado viven en SelectedItems , mientras que los elementos que están disponibles para agregar a SelectedItems (es decir, cada elemento que no está ya allí) ) vive en AvailableItems .
Además, tengo los botones < y > para mover la selección actual de una lista a la otra (además de hacer doble clic, que funciona bien).
¿Es posible en WPF configurar un estilo / disparador para habilitar o deshabilitar los botones de movimiento dependiendo de cualquier cosa que se seleccione en ListBox? SelectedItems está en el lado izquierdo, por lo que el botón < moverá los AvailableItems seleccionados a esa lista. Sin embargo, si no se seleccionan elementos ( AvailableItems.SelectedIndex == -1 ), quiero que se deshabilite este botón ( IsEnabled == false ), y al revés para la otra lista / botón.
¿Es posible hacerlo directamente en XAML, o necesito crear una lógica compleja en el código subyacente para manejarlo?
Aquí está tu solución.
<Button Name="btn1" >click me
<Button.Style>
<Style>
<Style.Triggers>
<DataTrigger
Binding ="{Binding ElementName=list1, Path=SelectedIndex}"
Value="-1">
<Setter Property="Button.IsEnabled" Value="false"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>