2016-09-14 33 views
0

這兩行有什麼區別?WPF控件SetValue的區別

第一個做我期望它做的。它改變了寬度。 使用第二個時,沒有任何反應。爲什麼?

1)

columnSplitter.Width = new GridLength(myWidth); 

2)

columnSplitter.SetValue(GridSplitter.WidthProperty, myWidth); 

回答

0

表達

columnSplitter.Width = new GridLength(myWidth); 

表示columnSplitterColumnDefinition(其具有GridLength類型的Width屬性),而不是一個GridSplitter(它有一個Width類型double的財產)。

很顯然,你不能設置GridSplitter.WidthPropertyColumnDefinition,和等效值分配將

columnSplitter.SetValue(ColumnDefinition.WidthProperty, new GridLength(myWidth)); 
相關問題