Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

Expander Template: Trouble moving the location of the ToggleButton

$
0
0

I am using a control template for an Expander and I only want the expander to expand/contract if the button is checked/unchecked (I have this working) but I also wanted the button to be below the text. What happens is the button no longer works can any one help? Below is my code...

<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Page.Resources>
 <Style x:Key="StructureLableToggleButtonStyle" TargetType="{x:Type ToggleButton}">
  <Setter Property="Template">
   <Setter.Value>
    <ControlTemplate TargetType="{x:Type ToggleButton}">
     <Border Padding="{TemplateBinding Padding}">
      <Grid SnapsToDevicePixels="False" Background="Transparent">
       <Grid.ColumnDefinitions>
        <ColumnDefinition Width="16"/>
       </Grid.ColumnDefinitions>
       <Image x:Name="picture" Source="C:\UNIFI_17\Tree\CoreUIGroup\Waters.UI.WatStyle\images\Analyses\ShowStructure_size0.png"/>
      </Grid>
     </Border>

     <ControlTemplate.Triggers>
      <Trigger Property="IsChecked" Value="true">
       <Setter Property="Source" TargetName="picture" Value="C:\UNIFI_17\Tree\CoreUIGroup\Waters.UI.WatStyle\images\Analyses\ShowDetail_size0.png"/>
      </Trigger>
      <Trigger Property="IsMouseOver" Value="true">
      </Trigger>
     </ControlTemplate.Triggers>
    </ControlTemplate>
   </Setter.Value>
  </Setter>
 </Style>

 <Style x:Key="StructureLableExpander" TargetType="Expander">
  <Setter Property="Template">
   <Setter.Value>
    <ControlTemplate TargetType="{x:Type Expander}">
     <Grid SnapsToDevicePixels="true">
      <Grid.ColumnDefinitions>
       <ColumnDefinition Width="6" />
       <ColumnDefinition Width="Auto" />
       <ColumnDefinition Width="*" />
       <ColumnDefinition Width="6" />
      </Grid.ColumnDefinitions>
      <Grid.RowDefinitions>
       <RowDefinition Height="Auto" />
       <RowDefinition Height="Auto" />
       <RowDefinition Height="*" />
      </Grid.RowDefinitions>

      <Border x:Name="Header" Grid.Column="1" Grid.Row="0" Grid.RowSpan="2" Padding="3,0,3,0">
       <Grid SnapsToDevicePixels="False" Background="Transparent" Grid.Column="1" Grid.Row="0" Grid.RowSpan="2">
        <Grid.RowDefinitions>
         <RowDefinition/>
         <RowDefinition/>
        </Grid.RowDefinitions>

        <ToggleButton Grid.Row="1" Grid.Column="0" MinHeight="0" MinWidth="0" Name="HeaderToggle" Style="{StaticResource StructureLableToggleButtonStyle}"
             IsChecked="{Binding Path=IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
             HorizontalAlignment="Center" VerticalAlignment="Center"/>
        <TextBlock x:Name="headerTextBlock" Text="{TemplateBinding Header}" Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Stretch"
             TextWrapping="NoWrap" MaxWidth="150" TextTrimming="CharacterEllipsis" Margin="3,0,0,0" Background="Transparent"
             SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
       </Grid>
      </Border>
      <Border CornerRadius="4" Grid.Row="1" Grid.RowSpan="3" Grid.Column="0" Grid.ColumnSpan="4" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="Transparent" Background="{TemplateBinding Background}" />
      <ContentPresenter x:Name="ExpandSite" Visibility="Collapsed" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
     </Grid>
     <ControlTemplate.Triggers>
      <Trigger Property="IsExpanded" Value="true">
       <Setter Property="Visibility" TargetName="ExpandSite" Value="Visible"/>
      </Trigger>
      <Trigger Property="IsEnabled" Value="false">
       <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
      </Trigger>
     </ControlTemplate.Triggers>
    </ControlTemplate>
   </Setter.Value>
  </Setter>
 </Style>
  </Page.Resources>
  <Grid> 
   <Expander x:Name="myImageExpander" Style="{StaticResource StructureLableExpander}" IsExpanded="True" Header="Yummy">
    <Grid Background="Green">
     <TextBlock>Yup</TextBlock>
    </Grid>
   </Expander>
  </Grid>
</Page>


Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>