это мое поле со списком (код xaml):
<ComboBox SelectionChanged="ComboBox1_SelectionChanged" Name="ComboBox1" SelectedIndex="1" FontWeight="Bold" FontSize="15" Canvas.Left="133" Canvas.Top="240" Width="135" Height="24">
<ComboBoxItem Foreground="Red" Name="Red">Red</ComboBoxItem>
<ComboBoxItem Foreground="Blue" Name="Blue">Blue</ComboBoxItem>
<ComboBoxItem Foreground="Yellow" Name="Yellow">Yellow</ComboBoxItem>
<ComboBoxItem Foreground="Pink" Name="Pink">Pink</ComboBoxItem>
<ComboBoxItem Foreground="Green" Name="Green">Green</ComboBoxItem>
</ComboBox>
, и это мой код c #:
private void ComboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (ComboBox1.Text != "")
{
var converter = new System.Windows.Media.BrushConverter();
var brush = (Brush)converter.ConvertFromString(ComboBox1.Text);
rect.Fill = brush;
}
}
У меня есть прямоугольник, который я хочу заполнить цветомВыбранный в поле со списком, я также хочу, чтобы цвет по умолчанию для поля со списком был синим, но оба они на самом деле не работают для меня.Текст в поле со списком фактически синий по умолчанию, но я думаю, что сам элемент не выбран, потому что он не распознает его и говорит, что моя строка со списком по умолчанию пуста.Кроме того, цвета моего прямоугольника меняются с задержкой, если я сначала выберу красный, то ничего не произойдет, а затем, если я выберу зеленую секунду, он покажет красный и продолжит работать с такой задержкой.
Кто-нибудь знает, почему?и как это решить?Буду очень признателен.