【问题标题】:WPF control SetValue differenceWPF控件SetValue的区别
【发布时间】:2017-01-22 20:06:51
【问题描述】:
这两行有什么区别?
第一个做我期望它做的事情。它改变宽度。
使用第二个时,没有任何反应。为什么?
1)
columnSplitter.Width = new GridLength(myWidth);
2)
columnSplitter.SetValue(GridSplitter.WidthProperty, myWidth);
【问题讨论】:
标签:
c#
.net
wpf
dependency-properties
【解决方案1】:
表达式
columnSplitter.Width = new GridLength(myWidth);
表示columnSplitter 是ColumnDefinition(具有GridLength 类型的Width 属性),而不是GridSplitter(具有Width 类型double 的属性)。
显然,您不能在ColumnDefinition 上设置GridSplitter.WidthProperty,等效值分配将是
columnSplitter.SetValue(ColumnDefinition.WidthProperty, new GridLength(myWidth));