Je veux créer un contrôle personnalisé pour que je puisse faire quelque chose comme ceci:WPF contrôle personnalisé pour Side by Side Mise en page
<SideBySide>
<StackPanel SideBySide.Left="True">...</StackPanel>
<StackPanel SideBySide.Right="False">...</StackPanel>
</SideBySide>
Je vais utiliser ce dans tous les sens, avec évidemment plus options (dimensionnement, etc.).
J'ai envisagé d'utiliser une sous-classe Panel, mais cela ne semble pas correct (il y a une notion d'élément sélectionné entre la gauche et la droite).
Donc, j'essaie d'utiliser une sous-classe ItemsControl - maintenant, quelqu'un sait comment mettre les éléments dans un modèle de contrôle pour un ItemsControl?
Ceci est un modèle abrégé pour la SideBySide:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfCustomControlLibrary1">
<Style TargetType="{x:Type local:SideBySideControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:SideBySideControl}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<Grid.Resources>
<Style TargetType="{x:Type Rectangle}">
<Setter Property="Margin"
Value="5" />
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0"
VerticalAlignment="Stretch">
<!-- PART_LeftContent goes here -->
</Grid>
<GridSplitter Width="3"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Stretch"
ShowsPreview="False">
</GridSplitter>
<Grid Grid.Column="2">
<!-- PART_RightContent goes here -->
</Grid>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
+1 est exactement ce que je suis à la recherche de. Avez-vous des liens pour compléter des échantillons? – bendewey