是否可以从String创建VisualBrush?

时间:2013-03-26 09:25:19

标签: c# wpf visualbrush

我认为我的问题是自我解决,但在这里详细阐述一下。

我想在运行时为Brush属性赋值。我正在分配VisualBrush,其密钥是我从db获得的

Application.Current.FindResource("Key_Passed_from_DB");

但是我被要求从字符串中填充它,以防该键在应用程序中不可用

例如从db我将被传递

<Grid><Path Data="M404....">........</Grid>

这可以转换为VisualBrush并分配给我的Brush属性吗?

1 个答案:

答案 0 :(得分:1)

只要您拥有所需的命名空间(或在解析之前添加它们),您就可以Parse将Xaml字符串转换为元素。

然后,您可以将解析的WPF元素应用于VisualBrush

工作示例:

string elementString = "<Grid xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" >  <Button /> </Grid>";

Visual result = XamlReader.Parse(elementString) as Visual;

VisualBrush myBrush = new VisualBrush(result);