Question

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?

Was it helpful?

Solution

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);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top