Totalnie własny wygląd kontrolki

0

Zainteresowawszy się WPF, myślałem że praktycznie wszystko będzie edytowalne. Miło zaskoczony tym, że textbox może mieć tło, literki mogą mieć gradient, zasmuciłem się faktem, że np. checkbox'u mogę zmienić za pomocą pola Background jedynie obramowanie.
Zauważyłem pole OverridesDefaultStyle, ale jego zaznaczenie powoduje że kontrolka znika i nie reaguje.
Czy mógłby mi ktoś powiedzieć, jak tworzyć zupełnie własne wyglądy kontrolek?

0

Dobra, siadłem do WPF na dobre i piszę dla potomnych. Robi się to przez XAML. Tworzy się styl, którego kontrolka używać będzie.

<Window.Resources>
        <Style x:Key="CheckBoxStyle" TargetType="CheckBox">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type CheckBox}">
                        <Grid>
                            <Ellipse HorizontalAlignment="Left" Height="15" Width="15" Fill="White"
                             Stroke="Black"/>
                            <ContentPresenter HorizontalAlignment="Center" Margin="10,0,0,0"
                                          VerticalAlignment="Center"/>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="true">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type CheckBox}">
                                <Grid>
                                    <Ellipse HorizontalAlignment="Left" Height="15" Width="15" Fill="Black"
                             Stroke="Black"/>
                                    <ContentPresenter HorizontalAlignment="Center" Margin="10,0,0,0"
                                          VerticalAlignment="Center"/>
                                </Grid>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Window.Resources> 
<CheckBox Style="{StaticResource CheckBoxStyle}"> //A kontrolke się ustawia do używania stylu

Sorry za spam, ale może komuś się przyda.

1 użytkowników online, w tym zalogowanych: 0, gości: 1