Я изучаю некоторые WPF/C#, поэтому этот вопрос может быть глупым для некоторых из вас, но я не могу найти решение.Использование Canvas для маскировки другого холста в C#/WPF
У меня есть холст (скажем, он содержит тексты), а затем у меня есть другой холст, который я хочу использовать в качестве маски (что-нибудь на этом втором холсте замаскирует первый).
Как я могу это сделать? Что делать, если второй холст движется? Я хочу изменить масштаб второго холста (маски), чтобы он «раскрывал» содержимое первого (контента).
Заранее благодарен!
EDIT: Если вместо холста я мог бы использовать что-то вроде прямоугольника (как только это изменится), это тоже хорошо!
EDIT 2: Вот код, я использую:
// Order info
Canvas order_info = new Canvas();
order_info.Width = 220;
order_info.Height = 250;
order_info.Background = Brushes.Yellow;
user_info.Children.Add(order_info);
// Order info mask
Canvas order_info_mask = new Canvas();
order_info_mask.Width = 110;
order_info_mask.Height = 250;
order_info_mask.Background = Brushes.Pink;
user_info.Children.Add(order_info_mask);
// Apply mask
VisualBrush mask_brush = new VisualBrush();
mask_brush.Visual = order_info_mask;
order_info.OpacityMask = mask_brush;
спасибо. очень полезно. –