I think my question is selfexplanatory but to elaborate a little bit here is the case.

I want to assign value to Brush property at runtime. I am assigning it VisualBrush whose key I get from db by

Application.Current.FindResource("Key_Passed_from_DB");

However I have been asked to populate it from string in case that key is not available in application

for e.g. from db i will be passed

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

Can this be converted to VisualBrush and assigned to my Brush property?

有帮助吗?

解决方案

You can Parse Xaml strings into elements as long as you have the required namespaces (or add them before parsing).

Then you can apply your parsed WPF element to a VisualBrush

Working Example:

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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top