FAQ по Silverlight «и иже с ними»
Здесь будут печататься советы на те вопросы которые вызовут интерес в процессе написания у такого Чайника как я.
Вопрос: Как динамически поменять цвет бекграунда в программе?
Ответ:
private void Canvas1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Canvas c = sender as Canvas;
SolidColorBrush newColor = new SolidColorBrush(Color.FromArgb(255, 200, 77, 0));
c.Background = newColor;
}
Вопрос: Как обозначить цвет, зная атрибуты?
Ответ:
Color.FromArgb(255, 200, 77, 0); // где 255 прозрачность, 200 красный, 77 зеленый, 0 синий
Вопрос: Как получить доступ к свойствам контрола?
Ответ: Смотря что имеется ввиду.
а) можно работать как с фреймворк элементом с каждым контролом
private void LayoutRoot_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
FrameworkElement fe = e.Source as FrameworkElement;
StringBuilder sb = new StringBuilder();
sb.Append(«source: » + fe.Name + «\n»);
sb.Append(«relative x/y to source: » + e.GetPosition(fe) + «\n»);
sb.Append(«Silverlight content area x/y : » + e.GetPosition(null));
statusText.Text = sb.ToString();
}
б) а можно работать с функциями SetValue и GetValue, но тогда в xaml’е надо присвоить имя контролу для доступа из программного кода
private void My_Button_Click(object sender, RoutedEventArgs e)
{
My_Button.Content = «Нажата!»;
My_Ellipse.SetValue(Canvas.TopProperty, 100);
My_Ellipse.SetValue(Canvas.LeftProperty, 100);
}
Комментариев пока нет
Ответить