我在 WPF 中绑定了一个 Grid 的宽度:
<Grid Width="{Binding MDIWidth, RelativeSource={RelativeSource AncestorType=dx:DXWindow}}" Name="GridControl">
...
</Grid>
属性已更改,但如果属性已更改,则 Grid 不会刷新其大小。如何做到这一点?
我只能建议您Binding
不工作,因为您可以使用. 如果您使用来访问this在后面的代码,请在构造函数中尝试将此作为测试...:Grid.Width
Binding
RelativeSource Binding
UserControl
Grid
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更新Width
a 。Grid
Binding