Windows Vista Forums

Bug: BitMap effect causes refresh failure.
  1. #1


    Philippe Lavoie Guest

    Bug: BitMap effect causes refresh failure.

    Hi

    In my code I had a list box item template with something like the
    following in it

    <Grid Width="171" Height="150" x:Name="ProductItem" Margin="5">
    <Rectangle x:Name="ItemBackground" RadiusX="0" RadiusY="0"
    Fill="#331195CC" Width="Auto" Height="75" Margin="15.5,0,0.5,0"
    Stroke="#FF1B97CB" VerticalAlignment="Top" MinWidth="0"/>
    <ContentPresenter Width="60" Height="Auto"
    HorizontalAlignment="Left" MinHeight="0" Margin="4,19,0,8"
    x:Name="ImagePresenter" RenderTransformOrigin="0.5,0.5"
    Content="{Binding Path=Content, RelativeSource='{RelativeSource
    TemplatedParent}'}" ClipToBounds="False" >
    <ContentPresenter.BitmapEffect>
    <DropShadowBitmapEffect ShadowDepth="5"/>
    </ContentPresenter.BitmapEffect> </ContentPresenter>
    </Grid>

    And


    <DataTemplate DataType="{x:Type src:Ski}">
    <Image Width="Auto" Height="130" Source="{Binding ImageUri}"
    HorizontalAlignment="Center" VerticalAlignment="Center"
    x:Name="SkiProductImage" RenderTransformOrigin="0.5,0.5" IsEnabled="True">

    </Image>
    </DataTemplate>

    This caused the images of the products to be hidden (not shown).
    However, putting the bitmap effect inside the datatemplate instead of
    with the ContentPresenter fixes the refresh problems.

    It was HARD to find a workaround...

    Hopefully this will be fixed soon.

    Phil




      My System SpecsSystem Spec

  2. #2


    Rahul Patil Guest

    RE: Bug: BitMap effect causes refresh failure.

    Hi Phil,
    Can you clarify your scenario further:

    For instance, the following works just fine: Update the slider and the
    notice that the content does get refreshed.
    <WrapPanel Width="300" Height="300"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Background="blue"
    >

    <WrapPanel.Resources>
    <Image x:Key="Img1" Source="Earth.bmp" Opacity="{Binding
    ElementName=Sld1, Path=Value}" />
    <OuterGlowBitmapEffect x:Key="glow"/>
    </WrapPanel.Resources>
    <Grid Width="171" Height="150" x:Name="ProductItem" Margin="5">
    <Rectangle x:Name="ItemBackground" RadiusX="0" RadiusY="0"
    Fill="#331195CC" Width="Auto" Height="75" Margin="15.5,0,0.5,0"
    Stroke="#FF1B97CB" VerticalAlignment="Top" MinWidth="0"/>
    <ContentPresenter Width="70" Height="Auto"
    HorizontalAlignment="Left" MinHeight="0" Margin="4,19,0,8"
    x:Name="ImagePresenter" RenderTransformOrigin="0.5,0.5"
    Content="{Binding ElementName=Sld1,Path=Value}"
    ClipToBounds="False" BitmapEffect="{StaticResource glow}">

    </ContentPresenter>
    <Slider Name="Sld1" Value="3"/>
    </Grid>
    </WrapPanel>


    "Philippe Lavoie" wrote:

    > Hi
    >
    > In my code I had a list box item template with something like the
    > following in it
    >
    > <Grid Width="171" Height="150" x:Name="ProductItem" Margin="5">
    > <Rectangle x:Name="ItemBackground" RadiusX="0" RadiusY="0"
    > Fill="#331195CC" Width="Auto" Height="75" Margin="15.5,0,0.5,0"
    > Stroke="#FF1B97CB" VerticalAlignment="Top" MinWidth="0"/>
    > <ContentPresenter Width="60" Height="Auto"
    > HorizontalAlignment="Left" MinHeight="0" Margin="4,19,0,8"
    > x:Name="ImagePresenter" RenderTransformOrigin="0.5,0.5"
    > Content="{Binding Path=Content, RelativeSource='{RelativeSource
    > TemplatedParent}'}" ClipToBounds="False" >
    > <ContentPresenter.BitmapEffect>
    > <DropShadowBitmapEffect ShadowDepth="5"/>
    > </ContentPresenter.BitmapEffect> </ContentPresenter>
    > </Grid>
    >
    > And
    >
    >
    > <DataTemplate DataType="{x:Type src:Ski}">
    > <Image Width="Auto" Height="130" Source="{Binding ImageUri}"
    > HorizontalAlignment="Center" VerticalAlignment="Center"
    > x:Name="SkiProductImage" RenderTransformOrigin="0.5,0.5" IsEnabled="True">
    >
    > </Image>
    > </DataTemplate>
    >
    > This caused the images of the products to be hidden (not shown).
    > However, putting the bitmap effect inside the datatemplate instead of
    > with the ContentPresenter fixes the refresh problems.
    >
    > It was HARD to find a workaround...
    >
    > Hopefully this will be fixed soon.
    >
    > Phil
    >
    >


      My System SpecsSystem Spec

  3. #3


    Philippe Lavoie Guest

    Re: Bug: BitMap effect causes refresh failure.

    The issue is really due to the use of a style applied to the default
    listboxitem type which then piggy backs on a datatemplate for the actual
    content presentation.

    If you just use regular markup to do it, it works fine.

    Phil




    Rahul Patil wrote:
    > Hi Phil,
    > Can you clarify your scenario further:
    >
    > For instance, the following works just fine: Update the slider and the
    > notice that the content does get refreshed.
    > <WrapPanel Width="300" Height="300"
    > xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    > xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    > Background="blue"
    > >

    > <WrapPanel.Resources>
    > <Image x:Key="Img1" Source="Earth.bmp" Opacity="{Binding
    > ElementName=Sld1, Path=Value}" />
    > <OuterGlowBitmapEffect x:Key="glow"/>
    > </WrapPanel.Resources>
    > <Grid Width="171" Height="150" x:Name="ProductItem" Margin="5">
    > <Rectangle x:Name="ItemBackground" RadiusX="0" RadiusY="0"
    > Fill="#331195CC" Width="Auto" Height="75" Margin="15.5,0,0.5,0"
    > Stroke="#FF1B97CB" VerticalAlignment="Top" MinWidth="0"/>
    > <ContentPresenter Width="70" Height="Auto"
    > HorizontalAlignment="Left" MinHeight="0" Margin="4,19,0,8"
    > x:Name="ImagePresenter" RenderTransformOrigin="0.5,0.5"
    > Content="{Binding ElementName=Sld1,Path=Value}"
    > ClipToBounds="False" BitmapEffect="{StaticResource glow}">
    >
    > </ContentPresenter>
    > <Slider Name="Sld1" Value="3"/>
    > </Grid>
    > </WrapPanel>
    >
    >
    > "Philippe Lavoie" wrote:
    >
    >
    >>Hi
    >>
    >>In my code I had a list box item template with something like the
    >>following in it
    >>
    >><Grid Width="171" Height="150" x:Name="ProductItem" Margin="5">
    >> <Rectangle x:Name="ItemBackground" RadiusX="0" RadiusY="0"
    >>Fill="#331195CC" Width="Auto" Height="75" Margin="15.5,0,0.5,0"
    >>Stroke="#FF1B97CB" VerticalAlignment="Top" MinWidth="0"/>
    >> <ContentPresenter Width="60" Height="Auto"
    >>HorizontalAlignment="Left" MinHeight="0" Margin="4,19,0,8"
    >>x:Name="ImagePresenter" RenderTransformOrigin="0.5,0.5"
    >>Content="{Binding Path=Content, RelativeSource='{RelativeSource
    >>TemplatedParent}'}" ClipToBounds="False" >
    >> <ContentPresenter.BitmapEffect>
    >> <DropShadowBitmapEffect ShadowDepth="5"/>
    >> </ContentPresenter.BitmapEffect> </ContentPresenter>
    >></Grid>
    >>
    >>And
    >>
    >>
    >><DataTemplate DataType="{x:Type src:Ski}">
    >> <Image Width="Auto" Height="130" Source="{Binding ImageUri}"
    >>HorizontalAlignment="Center" VerticalAlignment="Center"
    >>x:Name="SkiProductImage" RenderTransformOrigin="0.5,0.5" IsEnabled="True">
    >>
    >> </Image>
    >> </DataTemplate>
    >>
    >>This caused the images of the products to be hidden (not shown).
    >>However, putting the bitmap effect inside the datatemplate instead of
    >>with the ContentPresenter fixes the refresh problems.
    >>
    >>It was HARD to find a workaround...
    >>
    >>Hopefully this will be fixed soon.
    >>
    >>Phil
    >>
    >>


      My System SpecsSystem Spec

  4. #4


    Rahul Patil Guest

    Re: Bug: BitMap effect causes refresh failure.

    Is this related to the other thread titled "Opacity modifier doesn't work
    inside a datatrigger for ...", I have answered that separately.

    Thanks for your input!

    -Rahul Patil

    "Philippe Lavoie" wrote:

    > The issue is really due to the use of a style applied to the default
    > listboxitem type which then piggy backs on a datatemplate for the actual
    > content presentation.
    >
    > If you just use regular markup to do it, it works fine.
    >
    > Phil
    >
    >
    >
    >
    > Rahul Patil wrote:
    > > Hi Phil,
    > > Can you clarify your scenario further:
    > >
    > > For instance, the following works just fine: Update the slider and the
    > > notice that the content does get refreshed.
    > > <WrapPanel Width="300" Height="300"
    > > xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    > > xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    > > Background="blue"
    > > >

    > > <WrapPanel.Resources>
    > > <Image x:Key="Img1" Source="Earth.bmp" Opacity="{Binding
    > > ElementName=Sld1, Path=Value}" />
    > > <OuterGlowBitmapEffect x:Key="glow"/>
    > > </WrapPanel.Resources>
    > > <Grid Width="171" Height="150" x:Name="ProductItem" Margin="5">
    > > <Rectangle x:Name="ItemBackground" RadiusX="0" RadiusY="0"
    > > Fill="#331195CC" Width="Auto" Height="75" Margin="15.5,0,0.5,0"
    > > Stroke="#FF1B97CB" VerticalAlignment="Top" MinWidth="0"/>
    > > <ContentPresenter Width="70" Height="Auto"
    > > HorizontalAlignment="Left" MinHeight="0" Margin="4,19,0,8"
    > > x:Name="ImagePresenter" RenderTransformOrigin="0.5,0.5"
    > > Content="{Binding ElementName=Sld1,Path=Value}"
    > > ClipToBounds="False" BitmapEffect="{StaticResource glow}">
    > >
    > > </ContentPresenter>
    > > <Slider Name="Sld1" Value="3"/>
    > > </Grid>
    > > </WrapPanel>
    > >
    > >
    > > "Philippe Lavoie" wrote:
    > >
    > >
    > >>Hi
    > >>
    > >>In my code I had a list box item template with something like the
    > >>following in it
    > >>
    > >><Grid Width="171" Height="150" x:Name="ProductItem" Margin="5">
    > >> <Rectangle x:Name="ItemBackground" RadiusX="0" RadiusY="0"
    > >>Fill="#331195CC" Width="Auto" Height="75" Margin="15.5,0,0.5,0"
    > >>Stroke="#FF1B97CB" VerticalAlignment="Top" MinWidth="0"/>
    > >> <ContentPresenter Width="60" Height="Auto"
    > >>HorizontalAlignment="Left" MinHeight="0" Margin="4,19,0,8"
    > >>x:Name="ImagePresenter" RenderTransformOrigin="0.5,0.5"
    > >>Content="{Binding Path=Content, RelativeSource='{RelativeSource
    > >>TemplatedParent}'}" ClipToBounds="False" >
    > >> <ContentPresenter.BitmapEffect>
    > >> <DropShadowBitmapEffect ShadowDepth="5"/>
    > >> </ContentPresenter.BitmapEffect> </ContentPresenter>
    > >></Grid>
    > >>
    > >>And
    > >>
    > >>
    > >><DataTemplate DataType="{x:Type src:Ski}">
    > >> <Image Width="Auto" Height="130" Source="{Binding ImageUri}"
    > >>HorizontalAlignment="Center" VerticalAlignment="Center"
    > >>x:Name="SkiProductImage" RenderTransformOrigin="0.5,0.5" IsEnabled="True">
    > >>
    > >> </Image>
    > >> </DataTemplate>
    > >>
    > >>This caused the images of the products to be hidden (not shown).
    > >>However, putting the bitmap effect inside the datatemplate instead of
    > >>with the ContentPresenter fixes the refresh problems.
    > >>
    > >>It was HARD to find a workaround...
    > >>
    > >>Hopefully this will be fixed soon.
    > >>
    > >>Phil
    > >>
    > >>

    >


      My System SpecsSystem Spec

Bug: BitMap effect causes refresh failure. problems?

Similar Threads
Thread Thread Starter Forum Replies Last Post
Merge one bitmap onto another in vb Jon Jacobs .NET General 0 27 May 2008
Corrupted block bitmap? Stan Kay Vista General 6 10 Mar 2008
bitmap jd Vista file management 3 09 Dec 2007
bitmap compression Bez Vista music pictures video 0 19 Nov 2007
I want to be able to create a new bitmap... Max Rockatanski Vista General 3 24 Jan 2007