I am unsure if this is even possible, but I thought I would ask. First off, for my purposes, I require this to work in the C# portion and not the XAML part. This is what I have and it works:
public partial class MyClass1 : Window
{
public MyClass2 MyClass2Object { get; set; }
public MyClass1()
{
InitializeComponent();
MyClass2Object = new MyClass2();
Binding binding = new Binding();
binding.Source = MyClass2Object;
binding.Path = new PropertyPath("StringVar");
TextBoxFromXaml.SetBinding(TextBox.TextProperty, binding);
}
}
public class MyClass2
{
public string StringVar { get; set; }
public MyClass2()
{
StringVar = "My String Here";
}
}
And this will bind to my StringVar property exactly how I would like it to. However, my question comes with what if I have the literal string "MyClass2Object.StringVar" when setting the binding source. I realize I can use the split function to separate "MyClass2Object" and "StringVar" from the longer string. I can then just replace the new PropertyPath line with the the second result from the split. However, how would I replace the binding.Source line according to the first result from the split. If this is possible, I would be able to pass a string like "MyClass2Object.StringVar" and have the TextBox's Text property bind to that property or if I pass a string like "AnotherClassObject.StringProperty" and have the TextBox's Text property bind to the StringProperty property of the object instantiated in the variable with name AnotherClassObject. I hope I am making sense.