2010-02-17 73 views
2

我需要在WPF中有一些镜像对象。我有一个包含一些内容的画布,我需要50个视觉克隆,如果我在源上修改某些内容,它应该在这些克隆中更新。 我知道通过将VisualBrush的Visual绑定到元素很容易在XAML中完成,但似乎可以通过代码实现。如何在WPF中创建反射效果? (来自代码)

任何人都可以帮忙吗?

回答

1

看看创建附加行为的this example。您可以使用这些行为,并使用代码创建并附加一个实例,或者您可以直接使用示例中的代码创建反射。

+1

我的应用程序是一个库应用程序,并在我的情况我没有任何XAML代码。 Bu我找到了一个适合我的解决方案。谢谢 – daniell 2010-02-18 09:04:29

3

好吧,同时我已经找到了解决方案(通过涩涩)。如果有人有兴趣,下面找到它:

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> 

也许你会发现这个有用的, 丹尼尔