我想在App.xaml中使用VisualBrush:
<Application.Resources>
<VisualBrush x:Key="TestBrush1" />
<VisualBrush x:Key="TestBrush2" />
</Application.Resources>
然后我想在一个窗口中设置一个绑定:
VisualBrush testBrush = (VisualBrush)FindResource("TestBrush1");
Binding testBinding = new Binding();
testBinding.Source = FirstBrowser;
testBrush.Visual = testBinding;
然后我想使用这个Brush将FirstBrowser的内容显示到另一个窗口。但那会晚些。绑定不起作用。有人知道如何让这项工作成功吗?
答案 0 :(得分:0)
你无法修改你在App.xaml中定义的VisualBrush,因为它被运行时自动冻结,因此定义一个没有Visual作为全局资源的VisualBrush是没用的。
您最好在实际需要时创建新画笔。您可以使用BindingOperations.SetBinding
方法绑定VisualBrush的Visual属性,如下所示:
VisualBrush testBrush = new VisualBrush();
BindingOperations.SetBinding(testBrush, VisualBrush.VisualProperty, new Binding() { Source = FirstBrowser });