C# 如何绑定WPF控件';房产的利润是多少?

C# 如何绑定WPF控件';房产的利润是多少?,c#,wpf,xaml,C#,Wpf,Xaml,我有一个C#/.Net WPF桌面应用程序。 有一系列定义的WPF控件,我希望在运行时动态更改这些控件的边距 如何将控件的边距绑定到代码隐藏中的属性 考虑以下控件: <TextBox Name="Foo" Text="Foo Text" Margin="0,10,0,10"> public double TopMargin {get; set;} public double BottomMargin {get; set;} public Thickness FooMargin{

我有一个C#/.Net WPF桌面应用程序。 有一系列定义的WPF控件,我希望在运行时动态更改这些控件的边距

如何将控件的边距绑定到代码隐藏中的属性

考虑以下控件:

<TextBox Name="Foo" Text="Foo Text"  Margin="0,10,0,10">
public double TopMargin {get; set;}
public double BottomMargin {get; set;}
public Thickness FooMargin{get; set;}
我希望能够动态更改边距,这样,如果在运行时C#代码中更改边距,新的边距值将反映在UI中

<强>如果比较容易,我会考虑使用:< /强>

<TextBox Name="Foo" Text="Foo Text"  Margin="0,10,0,10">
public double TopMargin {get; set;}
public double BottomMargin {get; set;}
public Thickness FooMargin{get; set;}
实现这一点的最干净/最好的方法是什么


谢谢

最好的方法是按照您的建议使用:

 public Thickness TextBoxMargin { get; set; }
然后,您可以使用想要在厚度的构造函数中使用的左、上、右、下(边距)值创建边距

 TextBoxMargin = new Thickness(5,5,5,5);
如果您使用的是MVVM,则可以像绑定视图模型中的常规属性一样进行绑定:

<TextBox Name="Foo" Text="Foo Text"  Margin="{Binding TextBoxMargin}">

RS:我仍然遇到一些问题。我得到一个“BindingExpression路径错误”。它找不到/绑定到TextBoxMargin@runtime.RS:我仍然遇到问题。我得到一个“BindingExpression路径错误”。它找不到/绑定到TextBoxMargin@runtime。我正在通过XAML中的应用程序应用绑定。我的XAML代码如下所示:需要在代码背后的构造函数中设置DataContext=this。