मैं एक Grid
एक Canvas
इस तरह परिभाषित के अंदर है:इस मामले में वास्तविक विडियो और वास्तविक हाइट 0.0 क्यों हैं?
<Canvas x:Name="outerCanvas">
<Grid Grid.Row="1" Name="cGrid" ShowGridLines="True" Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource AncestorType={x:Type Canvas}}}" Height="{Binding Path=ActualHeight, RelativeSource={RelativeSource AncestorType={x:Type Canvas}}}">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Rectangle Name="rectangle1" Stroke="Black" Fill="AntiqueWhite" />
<Rectangle Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="1" Grid.RowSpan="1" Name="rectangle2" Stroke="Black" Fill="AliceBlue" />
<Rectangle Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="1" Grid.RowSpan="1" Name="rectangle3" Stroke="Black" Fill="Aqua" />
<Rectangle Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Grid.RowSpan="1" Name="rectangle4" Stroke="Black" Fill="DarkViolet" />
</Grid>
</Canvas>
मेरे समस्या यह है कि, InitializeComponents()
या तो Grid.ColumnDefinitions[0].ActualWidth
या "किसी भी आयत" विंडो निर्माता पर, के बाद। ActualWidth
सभी 0.0 पर सेट हैं (ऊंचाई के लिए समान)। मैं यह नहीं समझ रहा हूं कि यह जानकारी प्राप्त करने के लिए क्या करना है। कोई मदद?
टिप्पणियों:
- मैं बाहरी कैनवास चौड़ाई और ऊंचाई definig नहीं कर रहा हूँ, लेकिन अगर मैं करता हूँ, यह मेरी समस्या का समाधान शामिल नहीं है।
- क्रम मैं देख सकता हूँ कि इस
Canvas/Grid
पूरी विंडो स्थान घेरती है, तो यह अंदर हर आयतActualWidth
रों है औरActualHeight
रों - ग्रिड की चौड़ाई/ऊंचाई कैनवास के लिए बाध्य है, लेकिन मैं इस बंधन और मेरी समस्या को दूर करने की कोशिश की पर
धन्यवाद! बस थोड़ा सुधार: खिड़की। उपाय शून्य वापस आता है। यह DesiredWidth/DesiredHeight गुणों को बदलता है :) लेकिन आपका विचार सही है। –
ऐसा तब होता है जब आप एपीआई को दोबारा जांचने के बिना अपने सिर के ऊपर से कोड टाइप करते हैं। सुधारों के लिए धन्यवाद। MeasureOverride आकार देता है, लेकिन माप बस उन्हें स्टोर करता है। उत्तर सही किया गया। –
सुनिश्चित नहीं है कि "DesiredWidth" पहले काम करता था, लेकिन .NET के नए संस्करण DesiredSize.Width, और DesiredSize का उपयोग करते हैं।ऊंचाई –