Entwickler-Ecke
WPF / Silverlight - Steuerelement mit Canvas und eigenem Design ?
Biplane - Mo 27.06.11 20:50
Titel: Steuerelement mit Canvas und eigenem Design ?
Hallo,
da ein Canvas von Panel und nicht von Control abgeleitet ist, kann man leider kein ControlTemplate zuordnen. Daher kann ich leider folgende XAML-Syntax nicht realisieren...
XML-Daten
1: 2: 3: 4: 5: 6:
| <Canvas Template=... Width="1000" Height="500"> <TextBox Canvas.Top="10" Canvas.Left="20"/> <Canvas Template=... Canvas.Top="50" Canvas.Left="10" Width="200" Height="100"> <CheckBox Canvas.Top="10" Canvas.Left="20" /> </Canvas> </Canvas> |
Der Canvas soll NICHT einfach nur unsichtbar oder mit einem einfach Rahmen dargestellt werden, sondern mit einem eigenen Layout. Beispielsweise oben mit einem 20 Pixel hohem Schriftzug unter dem dann der eigentliche Canvasbereich beginnt.
Bin dankbar für jeden Tipp.
Viele Grüße Ralph
Moderiert von
Christian S.: XML-Tags hinzugefügt
IsNull - Mi 29.06.11 10:05
Du kannst entweder ein UserControl definieren, welches dann ein composite aus TextBlock + deinem Canvas ist, oder was viel flexibler sein wird, ein eigenes Control machen.
Dann hast du also ein Control und in diesem dann dein Canvas und Textblock.
Du erbst also von ItemsControl, und im Constructor setzt du im Code setzt du ein Template auf.
Als Beispiel hier das Template von dem GMaps Map Control:
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| <ItemsControl Name="figures"> <ItemsControl.ItemTemplate> <DataTemplate> <ContentPresenter Content="{Binding Path=Shape}" /> </DataTemplate> </ItemsControl.ItemTemplate> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Canvas /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemContainerStyle> <Style> <Setter Property="Canvas.Left" Value="{Binding Path=LocalPositionX}"/> <Setter Property="Canvas.Top" Value="{Binding Path=LocalPositionY}"/> </Style> </ItemsControl.ItemContainerStyle> </ItemsControl> |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!