WPF控制SetValue的区别

时间:2016-09-14 21:53:57

标签: c# .net wpf dependency-properties

这两行之间有什么区别?

第一个做我期望它做的事。它改变了宽度。 使用第二个时,没有任何反应。为什么呢?

1)

columnSplitter.Width = new GridLength(myWidth);

2)

columnSplitter.SetValue(GridSplitter.WidthProperty, myWidth);

1 个答案:

答案 0 :(得分:0)

表达式

columnSplitter.Width = new GridLength(myWidth);

表示columnSplitterColumnDefinitionWidth属性GridLength),而不是GridSplitterWidth类型double)的属性。

显然,您无法在GridSplitter.WidthProperty上设置ColumnDefinition,而等值分配将是

columnSplitter.SetValue(ColumnDefinition.WidthProperty, new GridLength(myWidth));