CtrEditor/ObjetosSim/HydraulicComponents/ucHydPump.xaml

68 lines
3.4 KiB
XML

<UserControl x:Class="CtrEditor.ObjetosSim.ucHydPump"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:CtrEditor.ObjetosSim"
xmlns:vm="clr-namespace:CtrEditor.ObjetosSim"
mc:Ignorable="d">
<!-- DataContext se establece desde el objeto padre -->
<Grid RenderTransformOrigin="0,0">
<Grid.RenderTransform>
<TransformGroup>
<RotateTransform Angle="{Binding Angulo}"/>
</TransformGroup>
</Grid.RenderTransform>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- Imagen de la bomba -->
<Grid Grid.Row="0">
<!-- Círculo de fondo para la bomba -->
<Ellipse Width="{Binding Tamano, Converter={StaticResource MeterToPixelConverter}}"
Height="{Binding Tamano, Converter={StaticResource MeterToPixelConverter}}"
Fill="{Binding ColorButton_oculto}"
Stroke="Black"
StrokeThickness="2">
<Ellipse.Effect>
<DropShadowEffect Color="Gray" ShadowDepth="2" Opacity="0.5"/>
</Ellipse.Effect>
</Ellipse>
<!-- Imagen de la bomba si está disponible -->
<Image Source="{Binding ImageSource_oculta}"
Width="{Binding Tamano, Converter={StaticResource MeterToPixelConverter}, ConverterParameter=0.8}"
Height="{Binding Tamano, Converter={StaticResource MeterToPixelConverter}, ConverterParameter=0.8}"
Stretch="Uniform"/>
<!-- Indicador visual de estado si no hay imagen -->
<Grid>
<TextBlock Text="P" FontSize="18" FontWeight="Bold"
Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<!-- Indicador de funcionamiento -->
<Ellipse Width="8" Height="8"
Fill="{Binding IsRunning, Converter={StaticResource BoolToColorConverter}}"
HorizontalAlignment="Right" VerticalAlignment="Top"
Margin="0,2,2,0"/>
</Grid>
</Grid>
<!-- Panel de información con presión y caudal -->
<Border Grid.Row="1" Background="#AA000000" CornerRadius="3" Padding="3" Margin="0,2,0,0">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Text="{Binding CurrentPressureBar, StringFormat='{}{0:F1} bar'}"
Foreground="White" Background="Blue" Padding="2" Margin="1" FontSize="8"/>
<TextBlock Text="{Binding CurrentFlowLMin, StringFormat='{}{0:F1} L/min'}"
Foreground="White" Background="Green" Padding="2" Margin="1" FontSize="8"/>
<TextBlock Text="{Binding CurrentHead, StringFormat='{}{0:F1} m'}"
Foreground="White" Background="Orange" Padding="2" Margin="1" FontSize="8"/>
</StackPanel>
</Border>
</Grid>
</UserControl>