Salut J'ai un problème pour faire fonctionner mon sélecteur de couleurs WPF. Je pense que c'est parce que je suis en train de poursuivre Databinding dans un mauvais sens, mais je ne suis pas sûr car je ne comprends pas complètement.WPF Liaison de données créant un sélecteur de couleur
Ce que je veux est une liste déroulante, qui contient les couleurs dans ma liste (contient comme montre la couleur réelle pas seulement du texte).
Heres mon code:
WPF:
<ComboBox Name="cb_farbe" Text="farbe" HorizontalContentAlignment="Center" IsEditable="True" Grid.Row="7" Grid.Column="1" VerticalAlignment="Center" Grid.ColumnSpan="2" Loaded="CbFarbe">
<ComboBox.ItemTemplate>
<DataTemplate>
<Rectangle Grid.Column="0" Margin="5, 10" Fill="{Binding}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
C#:
private void CbFarbe(object sender, RoutedEventArgs e)
{
List<Color> colors = new List<Color>
{
Color.Blue,
Color.Green,
Color.LightBlue,
Color.Black,
Color.White,
Color.Gray
};
var comboBox = sender as ComboBox;
comboBox.ItemsSource = colors;
comboBox.SelectedIndex = 1;
this.DataContext = colors;
}
Essayez 'List' et remplissez-le avec 'Brushes.Blue' etc. De plus, Rectange n'a pas de taille définie. –
Clemens
@Clemens De cette façon, je viens d'obtenir la chaîne "System.Drawing.SolidBrush dans mon index sélectionné par défaut et toutes les autres options sont vides" – Samuel
Je veux dire des brosses WPF, pas des brosses WinForms, c'est-à-dire System.Windows.Media.Brushes. En général, vous ne devez pas utiliser les classes WinForms dans une application WPF. Supprimez la référence d'assembly System.Drawing. – Clemens