こんにちは私のWPFカラーセレクタが動作するのに問題があります。私は間違った方法でDatabindingを訴えているからだと思うが、私はそれを完全に理解していないので、わからない。WPFデータバインディングを使用してカラーセレクタを作成する
私が欲しいのは、リスト内の色を含むドロップダウンです(実際の色はテキストだけでなく実際の色も含みます)。
HERESに私のコード:
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#:Rectangle
上
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;
}
'List'を試して、 'Brushes.Blue'などで埋めてください。それに加えて、Rectangeにはサイズが設定されていません。 –
Clemens
@Clemensそのようにすれば、デフォルトで選択されたインデックスに "System.Drawing.SolidBrush"という文字列が表示され、他のすべてのオプションは空白になります。 – Samuel
私は、WinForms BrushesではなくSystem.Windows.Media.Brushesを意味します。一般的に、WPFアプリケーションではWinFormsクラスを使用しないでください。 System.Drawingアセンブリ参照を削除します。 – Clemens