以下Microsoft example code包含以下內容:WPF邊境DesiredHeight
<Grid>
...
<Border Name="Content" ... >
...
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="True">
<Setter TargetName="ContentRow" Property="Height"
Value="{Binding ElementName=Content,Path=DesiredHeight}" />
</Trigger>
...
</ControlTemplate.Triggers>
在運行,但是,此代碼生成以下數據綁定錯誤:
System.Windows.Data Error: 39 : BindingExpression path error: 'DesiredHeight' property not found on 'object' ''Border' (Name='Content')'. BindingExpression:Path=DesiredHeight; DataItem='Border' (Name='Content'); target element is 'RowDefinition' (HashCode=2034711); target property is 'Height' (type 'GridLength')
儘管這樣的錯誤,代碼工作正常。我查看了文檔,並且DesiredHeight
似乎不是Border
的成員。任何人都可以解釋DesiredHeight
來自哪裏?此外,有沒有辦法解決/抑制這個錯誤,所以我的程序輸出是乾淨的?
好吧,那有效(雖然DesiredSize.Height是雙)。那麼DesiredHeight只是映射到Border.DesiredSize.Height?這是某種無證財產嗎? – 2009-05-19 17:13:13
我確定它不是無證的,事情是XAML根據它們的內容來控制自己的大小,即使你將高度設置爲100,它可以因爲任何其他原因而改變,並且新的高度和寬度將被包含在ActualHeight和ActualWidth屬性。如果你想讓你的控件具有固定的大小,你應該設置MinWidth和MinHeight,但大多數時候我不推薦這樣做。主要是所有這些都是爲了解決我們在Windows應用程序中遇到的調整問題。 – Carlo 2009-05-19 17:20:55