2010-02-17 3 views
2

Мне нужно иметь некоторые объекты зеркала в WPF. У меня есть Canvas с некоторым контентом, и мне нужно 50 визуальных клонов, и если я что-то модифицирую в источнике, он должен быть обновлен в этих клонов. Я знаю, что это легко сделать в XAML, привязывая Visual VisualBrush к элементу, но может показаться, что это делается из кода.Как сделать эффект отражения в WPF? (из кода)

Может ли кто-нибудь помочь?

ответ

1

Взгляните на this example на создание приложенного поведения. Вы можете использовать это поведение и просто создавать и присоединять экземпляр с помощью кода, или вы можете напрямую использовать код в примере для создания отражений.

+1

Мое приложение является библиотека приложений, и в моем случае У меня нет кода XAML. Бу, я нахожу решение, которое работает для меня. Спасибо – daniell

1

Если все, что вам нужно, это просто отражение, здесь это пост ссылки на учебник и, более интересно, готовый элемент управления, который вы можете использовать (в Infragistics.Toybox.dll) - обязательно сначала проверьте его лицензию, но я не знаю, каков его статус.

http://blogs.infragistics.com/blogs/grant_hinkson/archive/2007/01/14/wpf-reflection-control.aspx

3

Хорошо, тем временем я нашел решение (Via Сесе). Если кому-то интересно, найти его ниже:

VisualBrush VisualBrush1 = new VisualBrush(); 
VisualBrush1.TileMode = TileMode.FlipXY; 
VisualBrush1.Viewport = new Rect(0.5, 0.5, 0.5, 0.5); 

Binding bb = new Binding { ElementName = "button1" }; 
BindingOperations.SetBinding(VisualBrush1,VisualBrush.VisualProperty, bb); 
rectangle1.Fill = VisualBrush1; 

и в XAML:

<Grid> 
     <Button Height="39" 
       Margin="82,20,87,0" 
       Name="button1" 
       VerticalAlignment="Top">Button</Button> 
     <Rectangle Margin="82,56,87,0" 
        Name="rectangle1" 
        Height="37" 
        VerticalAlignment="Top">    
     </Rectangle> 
    </Grid> 

Может быть, вы найдете этот Usefull, Daniel

 Смежные вопросы

  • Нет связанных вопросов^_^