Как мы можем изменить круглый значок расширителя wpf

Я разрабатываю приложения wpf. Я хочу удалить круглый значок расширителя. Ниже приведен мой код расширения. Заранее спасибо. Я тоже хочу удалить CornerRadius

<Expander x:Name="Expander" HorizontalAlignment="Right" FlowDirection="RightToLeft"    Foreground="White" FontFamily="segoe_uilight"  Width="200px"    BorderBrush="#FF0A0909" BorderThickness="1,1,1,2" Background="#99080707" >
            <Expander.Header>
                <StackPanel Orientation="Horizontal">

                    <Canvas Height="22" Width="172px" VerticalAlignment="Bottom">

                      // here is some code
                    </Canvas>
                </StackPanel>
            </Expander.Header>

            <!--<Expander.Content>
                <TextBox Text="LoginUserName"></TextBox>
            </Expander.Content>-->
            <StackPanel Margin="10,4,0,0"  >
                <StackPanel Orientation="Horizontal" Height="35">

                   // Here is some code

                </StackPanel>
                <!--<Label Margin="4" Content="Logout"  />-->
                <!--<Button x:Name="btnLogout" Margin="4" Content="Logout" Click="btnLogout_Click_1"></Button>-->

                <StackPanel Orientation="Horizontal" Height="35">

                    <Label x:Name="btnLogout" HorizontalAlignment="Left" Margin="60,5,0,0" Content="Logout"  Foreground="White" FontFamily="segoe_uilight" BorderThickness="0" MouseUp="btnLogout_MouseUp">

                    </Label>
                    <Image  Source="img\icons\logout.png" Height="20px" Width="20px"  Margin="25,0,0,0"/>
                </StackPanel>
            </StackPanel>
        </Expander>`

person Harjeet Singh    schedule 29.05.2014    source источник
comment
«Круглый значок» на самом деле является ToggleButton WPF, который переключает видимость содержимого расширителя. Так что если вы от него избавитесь, вы не сможете открывать и закрывать расширитель. Ваш вопрос заключается в том, что вы хотите изменить внешний вид «круглого значка»?   -  person Gayot Fow    schedule 29.05.2014
comment
Спасибо @GayotFow да, я хочу изменить внешний вид кнопки переключения. хотите также изменить значок ToggleButton, если это возможно.   -  person Harjeet Singh    schedule 30.05.2014
comment
На самом деле это возможно, но вам нужно будет изменить шаблон управления. В этом процессе много проб и ошибок, если вы не делали этого раньше. Сам значок представляет собой вектор пути WPF. Я могу показать вам, где это находится в Xaml, но это все, пока вы не станете конкретнее.   -  person Gayot Fow    schedule 30.05.2014
comment
Отвечает ли это на ваш вопрос? как изменить расширитель значков в wpf   -  person StayOnTarget    schedule 08.07.2021


Ответы (1)


Попробуйте использовать этот код:

<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400">
    <StackPanel>
        <StackPanel.Resources>

            <Style TargetType="Border" x:Key="RacePitBorderStyle" >
                <Style.Resources>
                    <LinearGradientBrush x:Key="BackBrush" StartPoint="0.5,0" EndPoint="0.5,1">
                        <GradientStop Color="#EF3132" Offset="0.1" />
                        <GradientStop Color="#D62B2B" Offset="0.9" />
                    </LinearGradientBrush>
                </Style.Resources>
                <Setter Property="Background" Value="{StaticResource BackBrush}"/>
            </Style>

            <DataTemplate x:Key="titleText">
                <Border Style="{StaticResource RacePitBorderStyle}" Height="24">
                    <TextBlock Text="{Binding}" 
                        Margin="4 0"
                        VerticalAlignment="Center"
                        Foreground="White"
                        FontSize="11" 
                        FontWeight="Normal"
                        Width="{Binding
                        RelativeSource={RelativeSource
                        Mode=FindAncestor,
                        AncestorType={x:Type Expander}},
                        Path=ActualWidth}"
                        TextWrapping="Wrap"/>
                </Border>
            </DataTemplate>

            <Style TargetType="{x:Type Expander}">
                <Setter Property="HeaderTemplate" Value="{StaticResource titleText}"/>
            </Style>

        </StackPanel.Resources>

        <Expander Name="hcontCtrl" Header="This is the header.">
            <StackPanel>
                <TextBox>This is a textbox</TextBox>
                <Button>A button</Button>
            </StackPanel>
        </Expander>

    </StackPanel>
</Page>
person Moez Rebai    schedule 29.05.2014
comment
Этот код не убирает круглую иконку на расширителе. Вы действительно пробовали это? Или, что еще лучше, вы читали вопрос ОП? - person Gayot Fow; 29.05.2014