0

我在 WPF 中绑定了一个 Grid 的宽度:

<Grid Width="{Binding MDIWidth, RelativeSource={RelativeSource AncestorType=dx:DXWindow}}" Name="GridControl">  
...
</Grid>

属性已更改,但如果属性已更改,则 Grid 不会刷新其大小。如何做到这一点?

4

1 回答 1

0

我只能建议您Binding不工作因为您可以使用. 如果您使用来访问this在后面的代码,请在构造函数中尝试将此作为测试...:Grid.WidthBindingRelativeSource BindingUserControlGrid

public DXWindow()
{
    InitializeComponent();
    DataContext = this; 
    MDIWidth = 100.0;
}

然后在视图中:

<Grid Width="{Binding MDIWidth}" Name="GridControl" />

如果这有效,那么您的原件Binding有错误。

更新>>>

如果您使用 a 后面的代码UserControl来声明您的属性,那么您需要声明 a DependencyProperty

public static readonly DependencyProperty WidthProperty = DependencyProperty.Register(
    "Width", typeof(double), typeof(MainWindow), new UIPropertyMetadata(250.0));

public double Width
{
    get { return (double)GetValue(WidthProperty); }
    set { SetValue(WidthProperty, value); }
}

除了您可能不使用 a 之外DependencyProperty,我不知道为什么您的代码无法正常工作......您当然可以随时使用 a更新Widtha 。GridBinding

于 2013-09-11T10:10:04.403 回答