Click here to Skip to main content
14,357,652 members

Silverlight / WPF

 
QuestionUsing negative height margin values to properly vertically align a control Pin
holdorf22-Jul-16 15:22
memberholdorf22-Jul-16 15:22 
AnswerRe: Using negative height margin values to properly vertically align a control Pin
holdorf23-Jul-16 5:50
memberholdorf23-Jul-16 5:50 
GeneralRe: Using negative height margin values to properly vertically align a control Pin
holdorf23-Jul-16 10:47
memberholdorf23-Jul-16 10:47 
QuestionList Control Question Pin
Kevin Marois21-Jul-16 15:36
professionalKevin Marois21-Jul-16 15:36 
AnswerRe: List Control Question Pin
Gerry Schmitz22-Jul-16 12:18
mveGerry Schmitz22-Jul-16 12:18 
QuestionKeeping correct layout when browser is resized Pin
holdorf17-Jul-16 4:37
memberholdorf17-Jul-16 4:37 
AnswerRe: Keeping correct layout when browser is resized Pin
Gerry Schmitz18-Jul-16 7:19
mveGerry Schmitz18-Jul-16 7:19 
QuestionStyling a Drag and Drop Items behavior in a WPF ListView Pin
Kenneth Haugland13-Jul-16 6:43
professionalKenneth Haugland13-Jul-16 6:43 
So, I basically took the reordering from Josh Smith:
Drag and Drop Items in a WPF ListView[^]
All I wanted to do now was to draw a line where the new item was inserted, with an arrow. Like the old WinForms style behavior:
Manual reordering of items inside a ListView[^]

The line under was easy to achieve, all I had to was to alter the Style:
<Style x:Key="ItemContStyle" TargetType="ListViewItem">
          <Style.Resources>
              <LinearGradientBrush x:Key="MouseOverBrush" StartPoint="0.5, 0" EndPoint="0.5, 1">
                  <GradientStop Color="#22000000" Offset="0" />
                  <GradientStop Color="#44000000" Offset="0.4" />
                  <GradientStop Color="#55000000" Offset="0.6" />
                  <GradientStop Color="#33000000" Offset="0.9" />
                  <GradientStop Color="#22000000" Offset="1" />
              </LinearGradientBrush>

              <SolidColorBrush x:Key="SelectedBackgroundBrush" Color="#DDD" />
              <SolidColorBrush x:Key="DisabledForegroundBrush" Color="#888" />
          </Style.Resources>

          <Setter Property="Padding" Value="0,4" />
    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    <!-- The default control template for ListViewItem has a Border
         which contains the item's content. -->
    <Setter Property="Border.BorderThickness" Value="0,0,0,0.5" />
          <Setter Property="Border.BorderBrush" Value="Transparent"/>
    <!-- These triggers react to changes in the attached properties set
         during a managed drag-drop operation. -->
    <Style.Triggers>
      <Trigger Property="jas:ListViewItemDragState.IsBeingDragged" Value="True">
        <Setter Property="FontWeight" Value="DemiBold" />
      </Trigger>
      <Trigger Property="jas:ListViewItemDragState.IsUnderDragCursor" Value="True">
                  <Setter Property="Border.BorderThickness" Value="0,0,0,0.5" />
                  <Setter Property="Border.BorderBrush" Value="Red"/>
              </Trigger>
    </Style.Triggers>
  </Style>

SO I looked at the ControlTemplate for the ListViewItems:
ListViewItem ControlTemplate Example[^]

But as soon as I started to add the ControlTemplate Design the correct behavior stopped:
<Style x:Key="ItemContStyle" TargetType="ListViewItem">
          <Style.Resources>
              <LinearGradientBrush x:Key="MouseOverBrush" StartPoint="0.5, 0" EndPoint="0.5, 1">
                  <GradientStop Color="#22000000" Offset="0" />
                  <GradientStop Color="#44000000" Offset="0.4" />
                  <GradientStop Color="#55000000" Offset="0.6" />
                  <GradientStop Color="#33000000" Offset="0.9" />
                  <GradientStop Color="#22000000" Offset="1" />
              </LinearGradientBrush>

              <SolidColorBrush x:Key="SelectedBackgroundBrush" Color="#DDD" />
              <SolidColorBrush x:Key="DisabledForegroundBrush" Color="#888" />
          </Style.Resources>

          <Setter Property="Template">
              <Setter.Value>
                  <ControlTemplate TargetType="ListViewItem">
                          <Grid>
                          <Polygon
                              x:Name="poly_PART"
                              VerticalAlignment="Bottom"
                              HorizontalAlignment="Left"
                              Stroke="Red"
                              Fill="Red"
                              StrokeThickness="2"
                              Points="0,1 0,-1 1,0"
                              Margin="0,0,0,0"
                              Width="10"
                              Height="10"
                              Stretch="Fill"
                              />
                          <ContentPresenter
                              Content="{TemplateBinding Content}"
                              HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                              VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                              SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                          </Grid>
                  </ControlTemplate>
              </Setter.Value>
          </Setter>

          <Setter Property="Padding" Value="0,4" />
    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    <!-- The default control template for ListViewItem has a Border
         which contains the item's content. -->
    <Setter Property="Border.BorderThickness" Value="0,0,0,0.5" />
          <Setter Property="Border.BorderBrush" Value="Transparent"/>
    <!-- These triggers react to changes in the attached properties set
         during a managed drag-drop operation. -->
    <Style.Triggers>
      <Trigger Property="jas:ListViewItemDragState.IsBeingDragged" Value="True">
        <Setter Property="FontWeight" Value="DemiBold" />
      </Trigger>
      <Trigger Property="jas:ListViewItemDragState.IsUnderDragCursor" Value="True">
        <!--<Setter Property="Background" Value="{StaticResource MouseOverBrush}" />-->
                  <Setter Property="Border.BorderThickness" Value="0,0,0,0.5" />
                  <Setter Property="Border.BorderBrush" Value="Red"/>
              </Trigger>
    </Style.Triggers>
  </Style>


How do I fix this issue?
QuestionShort way defining a property with the NotifyPropertyChanged() call Pin
Mc_Topaz9-Jul-16 10:26
memberMc_Topaz9-Jul-16 10:26 
AnswerRe: Short way defining a property with the NotifyPropertyChanged() call Pin
Mycroft Holmes9-Jul-16 12:35
memberMycroft Holmes9-Jul-16 12:35 
AnswerRe: Short way defining a property with the NotifyPropertyChanged() call Pin
Mc_Topaz9-Jul-16 12:49
memberMc_Topaz9-Jul-16 12:49 
AnswerRe: Short way defining a property with the NotifyPropertyChanged() call Pin
Super Lloyd10-Jul-16 15:31
memberSuper Lloyd10-Jul-16 15:31 
AnswerRe: Short way defining a property with the NotifyPropertyChanged() call Pin
Pete O'Hanlon10-Jul-16 22:23
protectorPete O'Hanlon10-Jul-16 22:23 
AnswerRe: Short way defining a property with the NotifyPropertyChanged() call Pin
Gerry Schmitz11-Jul-16 7:04
mveGerry Schmitz11-Jul-16 7:04 
AnswerRe: Short way defining a property with the NotifyPropertyChanged() call Pin
Kenneth Haugland13-Jul-16 5:12
professionalKenneth Haugland13-Jul-16 5:12 
GeneralRe: Short way defining a property with the NotifyPropertyChanged() call Pin
Mycroft Holmes13-Jul-16 13:54
memberMycroft Holmes13-Jul-16 13:54 
QuestionAdd column sorting to a WPF grid Pin
holdorf7-Jul-16 8:11
memberholdorf7-Jul-16 8:11 
SuggestionRe: Add column sorting to a WPF grid Pin
Matt T Heffron7-Jul-16 8:39
professionalMatt T Heffron7-Jul-16 8:39 
GeneralRe: Add column sorting to a WPF grid Pin
holdorf7-Jul-16 9:11
memberholdorf7-Jul-16 9:11 
AnswerRe: Add column sorting to a WPF grid Pin
Gerry Schmitz8-Jul-16 7:52
mveGerry Schmitz8-Jul-16 7:52 
QuestionSingle Instance WPF App - Pass Params From Second Instance To First Instance Pin
Kevin Marois30-Jun-16 9:46
professionalKevin Marois30-Jun-16 9:46 
QuestionWPF empty tabbed dashboard example code Pin
holdorf28-Jun-16 13:07
memberholdorf28-Jun-16 13:07 
AnswerRe: WPF empty tabbed dashboard example code Pin
Pete O'Hanlon28-Jun-16 21:53
protectorPete O'Hanlon28-Jun-16 21:53 
SuggestionRe: WPF empty tabbed dashboard example code Pin
Richard MacCutchan28-Jun-16 22:09
protectorRichard MacCutchan28-Jun-16 22:09 
AnswerRe: WPF empty tabbed dashboard example code Pin
Gerry Schmitz1-Jul-16 6:47
mveGerry Schmitz1-Jul-16 6:47 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.