WPF控件SetValue区别
WPF control SetValue difference
这两行有什么区别?
第一个做了我期望的事情。它改变了宽度。
使用第二个时,什么也没有发生。为什么?
1)
columnSplitter.Width = new GridLength(myWidth);
2)
columnSplitter.SetValue(GridSplitter.WidthProperty, myWidth);
表达式
columnSplitter.Width = new GridLength(myWidth);
表示 columnSplitter
是一个 ColumnDefinition
(它有一个 Width
属性 类型 GridLength
),而不是 GridSplitter
(它有一个 Width
属性 类型 double
).
显然,您不能在 ColumnDefinition
上设置 GridSplitter.WidthProperty
,等效的赋值将是
columnSplitter.SetValue(ColumnDefinition.WidthProperty, new GridLength(myWidth));
这两行有什么区别?
第一个做了我期望的事情。它改变了宽度。 使用第二个时,什么也没有发生。为什么?
1)
columnSplitter.Width = new GridLength(myWidth);
2)
columnSplitter.SetValue(GridSplitter.WidthProperty, myWidth);
表达式
columnSplitter.Width = new GridLength(myWidth);
表示 columnSplitter
是一个 ColumnDefinition
(它有一个 Width
属性 类型 GridLength
),而不是 GridSplitter
(它有一个 Width
属性 类型 double
).
显然,您不能在 ColumnDefinition
上设置 GridSplitter.WidthProperty
,等效的赋值将是
columnSplitter.SetValue(ColumnDefinition.WidthProperty, new GridLength(myWidth));