dilip.aim11 Ответов: 3

изменение цвета эллипса


привет

у меня есть список всех цветов в поле со списком

<combobox height="23" margin="11,66,11,0" name="comboBox1" verticalalignment="Top" displaymemberpath="Title" selectionchanged="comboBox1_SelectionChanged" selectedindex="0"></combobox>



И у меня есть 1 эллипс

 <ellipse verticalalignment="Center" horizontalalignment="Center" width="280" height="280"> Fill="" StrokeThickness="3" Opacity="22" OpacityMask="Blue"/>

</ellipse>


я хочу, когда изменить цвет эллипса .., выбрав цвет из поля со списком...

Как я могу связать это свойство...
Пожалуйста, Помогите Мне...

3 Ответов

Рейтинг:
2

walterhevedeich

Вам нужен Как solidcolorbrush[^] если вы хотите изменить цвет заливки вашего эллипса. Установите необходимое свойство объекта SolidColorBrush, а затем назначьте его свойству Fill эллипса. Конечно, вам нужно установить некоторое условие, какой цвет установить на вашем объекте SolidColorBrush, когда значение выбрано в вашем combobox. Этот[^], вероятно, может помочь.


Рейтинг:
1

Christian Graus

Вы можете задать имя для эллипса и задать его в коде, или вы можете сделать привязку к выбранному цвету в выпадающем списке. В обоих случаях вам нужно установить имя (x:Name=) в поле combobox.


dilip.aim11

привет,
я могу изменить цвет фона кнопки...
использование свойства brush из окна кода...

но я не могу найти свой эллипс в окне кода... я даю имя a=ellipse, но оно не приходит в окно кода....

UJimbo

Измените свой эллипс с помощью x:Name= "a_ellipse", и вы сможете его найти

Рейтинг:
0

Sergey Alexandrovich Kryukov

Основная идея заключается в следующем: заполните поле со списком всеми необходимыми кистями. Для содержимого элемента списка используйте элементы System.Windows.Media.Brushes, видеть http://msdn.microsoft.com/en-us/library/system.windows.controls.combobox.aspx[^]. В обработчике события ComboBox.SelectionChanged, type-приведение содержимого элемента поля со списком к SolidColorBrush и присвоить его собственности Fill из Ellipse.

Для элемента поля со списком вы можете использовать любое сложное содержимое; важно только, чтобы у вас был объект данного типа SolidColorBrush или Brush на каком-то уровне гнездования. Таким образом, вы можете показать цвет и, например, его имя в элементе списка со списком.

Вот очень простой пример:

<ComboBox>
   <ComboBoxItem>
      <TextBlock Background="Red">Red</TextBlock>  
   </ComboBoxItem>
   <ComboBoxItem>
      <TextBlock Background="Yellow">Yellow</TextBlock>
   </ComboBoxItem>
   <ComboBoxItem>
      <TextBlock Background="AliceBlue">Alice Blue</TextBlock>
   </ComboBoxItem>
</ComboBox>


Это не идеально, просто дает вам представление о том, что вы можете иметь для элемента управления (комбинированного поля), используемого для выбора цвета.

Вся хитрость заключается в дизайне ComboBoxItem содержание и его использование. Итак, прочтите это:
http://msdn.microsoft.com/en-us/library/bb613548.aspx[^].

Еще один другой уровень WPF" custom drawing " - это моделирование и шаблоны. Читать http://msdn.microsoft.com/en-us/library/ms745683.aspx[^].


—СА