Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PipeControl : ItemsControl
- {
- static PipeControl()
- {
- DefaultStyleKeyProperty.OverrideMetadata(typeof(PipeControl), new FrameworkPropertyMetadata(typeof(PipeControl)));
- }
- public PipeControl()
- {
- Checkers = new ObservableCollection<Checker>();
- Checkers.Add(new Checker());
- Checkers.Add(new Checker());
- Checkers.Add(new Checker());
- Checkers.Add(new Checker());
- Checkers.Add(new Checker());
- }
- public ObservableCollection<Checker> Checkers
- {
- get;
- set;
- }
- }
- <Style TargetType="{x:Type local:PipeControl}">
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type local:PipeControl}">
- <Border Background="{TemplateBinding Background}"
- BorderBrush="{TemplateBinding BorderBrush}"
- BorderThickness="{TemplateBinding BorderThickness}">
- </Border>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Setter Property="ItemTemplate">
- <Setter.Value>
- <DataTemplate DataType="{x:Type local:Checker}">
- <Ellipse Fill="Red" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
- </DataTemplate>
- </Setter.Value>
- </Setter>
- <Setter Property="ItemsSource" Value="{Binding Checkers,RelativeSource={RelativeSource Self}}"/>
- <!-- Just a Precaution its the default panel any ways -->
- <Setter Property="ItemsPanel">
- <Setter.Value>
- <ItemsPanelTemplate>
- <StackPanel />
- </ItemsPanelTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- public class PipeControl : ItemsControl
- {
- public ObservableCollection<Checker> Checkers { get; set; }
- static PipeControl()
- {
- DefaultStyleKeyProperty.OverrideMetadata(typeof(PipeControl), new FrameworkPropertyMetadata(typeof(PipeControl)));
- }
- public PipeControl()
- {
- Checkers = new ObservableCollection<Checker>();
- Checkers.Add(new Checker());
- Checkers.Add(new Checker());
- Checkers.Add(new Checker());
- Checkers.Add(new Checker());
- Checkers.Add(new Checker());
- ItemsSource = Checkers;
- }
- }
- <Style TargetType="{x:Type local:PipeControl}">
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type local:PipeControl}">
- <Border Background="{TemplateBinding Background}"
- BorderBrush="{TemplateBinding BorderBrush}"
- BorderThickness="{TemplateBinding BorderThickness}">
- <ItemsPresenter />
- </Border>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Setter Property="ItemTemplate">
- <Setter.Value>
- <DataTemplate DataType="{x:Type local:Checker}">
- <Ellipse Width="25"
- Height="25"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Stretch"
- Fill="Red" />
- </DataTemplate>
- </Setter.Value>
- </Setter>
- <Setter Property="ItemsPanel">
- <Setter.Value>
- <ItemsPanelTemplate>
- <StackPanel Orientation="Horizontal" />
- </ItemsPanelTemplate>
- </Setter.Value>
- </Setter>
- </Style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement