2010-11-08 18 views
0

je les suivantes WPF UserControl
alt textLiez une propriété de l'WPF image

Je veux que la frontière bleue soit affichée que lorsque l'objet a sa (propriété de dépendance bool) propriété IsSelected true.

Est-ce possible?

<Canvas> 

    <Image x:Name="Dot"> 
     <Image.Source> 
      <DrawingImage> 
       <DrawingImage.Drawing> 
        <DrawingGroup> 
         <GeometryDrawing> 
          <GeometryDrawing.Pen> 
           <Pen Brush="Blue" Thickness="2" x:Name="BigCircleThickness"/> 
          </GeometryDrawing.Pen> 
          <GeometryDrawing.Geometry> 
           <GeometryGroup> 
            <EllipseGeometry x:Name="BigCircle" Center="0,0" RadiusX="7" RadiusY="7"/> 
           </GeometryGroup> 
          </GeometryDrawing.Geometry> 
         </GeometryDrawing> 
         <GeometryDrawing> 
          <GeometryDrawing.Brush> 
           <SolidColorBrush Color="Blue" /> 
          </GeometryDrawing.Brush> 
          <GeometryDrawing.Geometry> 
           <GeometryGroup> 
            <EllipseGeometry x:Name="SmallCircle" Center="0,0" RadiusX="2" RadiusY="2"/> 
           </GeometryGroup> 
          </GeometryDrawing.Geometry> 
         </GeometryDrawing> 
        </DrawingGroup> 
       </DrawingImage.Drawing> 
      </DrawingImage> 
     </Image.Source> 
    </Image> 

</Canvas> 

En d'autres termes, j'ai besoin que lorsque IsSeleted = false dissapear "BigCircle".

Est-ce possible?

Répondre

0

Vous pouvez utiliser un DataTrigger. Quelque chose comme ceci:

<Image> 
    <Image.Style> 
     <Setter Property="Source" Value={StaticResource MyDrawingImage_NoBorder}" /> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding IsSelected}" Value="True"> 
       <Setter Property="Source" Value={StaticResource MyDrawingImage_WithBorder}" /> 
      </DataTrigger> 
     </Style.Triggers> 
    </Image.Style> 
</Image>