更新
This commit is contained in:
@@ -1203,37 +1203,10 @@
|
|||||||
<Border Grid.Row="0" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
<Border Grid.Row="0" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
||||||
<Border Grid.Row="1" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
<Border Grid.Row="1" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
||||||
<Border Grid.Row="2" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
<Border Grid.Row="2" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
||||||
<Canvas>
|
<Canvas x:Name="PressureTrendCanvas">
|
||||||
<Polyline Stroke="#FF0B7A75" StrokeThickness="2">
|
<Polyline x:Name="ProximalPressureTrendPolyline" Stroke="#FF0B7A75" StrokeThickness="2" />
|
||||||
<Polyline.Points>
|
<Polyline x:Name="DistalPressureTrendPolyline" Stroke="#FF3C6FB6" StrokeThickness="2" />
|
||||||
<MultiBinding Converter="{StaticResource TrendPointCollectionConverter}">
|
<Polyline x:Name="DeltaPressureTrendPolyline" Stroke="#FFD38A16" StrokeThickness="2" />
|
||||||
<Binding Path="ProximalPressureTrendValues" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualWidth" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualHeight" />
|
|
||||||
<Binding Path="PressureTrendMax" />
|
|
||||||
</MultiBinding>
|
|
||||||
</Polyline.Points>
|
|
||||||
</Polyline>
|
|
||||||
<Polyline Stroke="#FF3C6FB6" StrokeThickness="2">
|
|
||||||
<Polyline.Points>
|
|
||||||
<MultiBinding Converter="{StaticResource TrendPointCollectionConverter}">
|
|
||||||
<Binding Path="DistalPressureTrendValues" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualWidth" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualHeight" />
|
|
||||||
<Binding Path="PressureTrendMax" />
|
|
||||||
</MultiBinding>
|
|
||||||
</Polyline.Points>
|
|
||||||
</Polyline>
|
|
||||||
<Polyline Stroke="#FFD38A16" StrokeThickness="2">
|
|
||||||
<Polyline.Points>
|
|
||||||
<MultiBinding Converter="{StaticResource TrendPointCollectionConverter}">
|
|
||||||
<Binding Path="DeltaPressureTrendValues" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualWidth" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualHeight" />
|
|
||||||
<Binding Path="PressureTrendMax" />
|
|
||||||
</MultiBinding>
|
|
||||||
</Polyline.Points>
|
|
||||||
</Polyline>
|
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</Grid>
|
</Grid>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
@@ -1305,18 +1278,9 @@
|
|||||||
<Border Grid.Row="0" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
<Border Grid.Row="0" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
||||||
<Border Grid.Row="1" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
<Border Grid.Row="1" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
||||||
<Border Grid.Row="2" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
<Border Grid.Row="2" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
||||||
<Canvas>
|
<Canvas x:Name="FlowTrendCanvas">
|
||||||
<Polyline Stroke="#FF0B7A75" StrokeThickness="2">
|
<Polyline x:Name="FlowTrendPrimaryPolyline" Stroke="#FF0B7A75" StrokeThickness="2" />
|
||||||
<Polyline.Points>
|
<Polyline x:Name="FlowTrendSecondaryPolyline" Stroke="#FF3C6FB6" StrokeThickness="2">
|
||||||
<MultiBinding Converter="{StaticResource TrendPointCollectionConverter}">
|
|
||||||
<Binding Path="ActiveFlowTrendPrimaryValues" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualWidth" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualHeight" />
|
|
||||||
<Binding Path="FlowTrendMax" />
|
|
||||||
</MultiBinding>
|
|
||||||
</Polyline.Points>
|
|
||||||
</Polyline>
|
|
||||||
<Polyline Stroke="#FF3C6FB6" StrokeThickness="2">
|
|
||||||
<Polyline.Style>
|
<Polyline.Style>
|
||||||
<Style TargetType="Polyline">
|
<Style TargetType="Polyline">
|
||||||
<Setter Property="Visibility" Value="Collapsed" />
|
<Setter Property="Visibility" Value="Collapsed" />
|
||||||
@@ -1327,16 +1291,8 @@
|
|||||||
</Style.Triggers>
|
</Style.Triggers>
|
||||||
</Style>
|
</Style>
|
||||||
</Polyline.Style>
|
</Polyline.Style>
|
||||||
<Polyline.Points>
|
|
||||||
<MultiBinding Converter="{StaticResource TrendPointCollectionConverter}">
|
|
||||||
<Binding Path="ActiveFlowTrendSecondaryValues" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualWidth" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualHeight" />
|
|
||||||
<Binding Path="FlowTrendMax" />
|
|
||||||
</MultiBinding>
|
|
||||||
</Polyline.Points>
|
|
||||||
</Polyline>
|
</Polyline>
|
||||||
<Polyline Stroke="#FFD38A16" StrokeThickness="2">
|
<Polyline x:Name="FlowTrendTertiaryPolyline" Stroke="#FFD38A16" StrokeThickness="2">
|
||||||
<Polyline.Style>
|
<Polyline.Style>
|
||||||
<Style TargetType="Polyline">
|
<Style TargetType="Polyline">
|
||||||
<Setter Property="Visibility" Value="Collapsed" />
|
<Setter Property="Visibility" Value="Collapsed" />
|
||||||
@@ -1347,14 +1303,6 @@
|
|||||||
</Style.Triggers>
|
</Style.Triggers>
|
||||||
</Style>
|
</Style>
|
||||||
</Polyline.Style>
|
</Polyline.Style>
|
||||||
<Polyline.Points>
|
|
||||||
<MultiBinding Converter="{StaticResource TrendPointCollectionConverter}">
|
|
||||||
<Binding Path="ActiveFlowTrendTertiaryValues" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualWidth" />
|
|
||||||
<Binding RelativeSource="{RelativeSource AncestorType=Canvas}" Path="ActualHeight" />
|
|
||||||
<Binding Path="FlowTrendMax" />
|
|
||||||
</MultiBinding>
|
|
||||||
</Polyline.Points>
|
|
||||||
</Polyline>
|
</Polyline>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
using System.Windows;
|
using System.Globalization;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Shapes;
|
||||||
using Cardiopulmonarybypasssystems.ViewModels;
|
using Cardiopulmonarybypasssystems.ViewModels;
|
||||||
|
|
||||||
namespace Cardiopulmonarybypasssystems;
|
namespace Cardiopulmonarybypasssystems;
|
||||||
@@ -9,5 +13,39 @@ public partial class MainWindow : Window
|
|||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
DataContext = viewModel;
|
DataContext = viewModel;
|
||||||
|
ConfigureTrendBindings();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ConfigureTrendBindings()
|
||||||
|
{
|
||||||
|
var converter = (IMultiValueConverter)Resources["TrendPointCollectionConverter"];
|
||||||
|
|
||||||
|
BindTrendPolyline(ProximalPressureTrendPolyline, PressureTrendCanvas, converter, "ProximalPressureTrendValues", "PressureTrendMax");
|
||||||
|
BindTrendPolyline(DistalPressureTrendPolyline, PressureTrendCanvas, converter, "DistalPressureTrendValues", "PressureTrendMax");
|
||||||
|
BindTrendPolyline(DeltaPressureTrendPolyline, PressureTrendCanvas, converter, "DeltaPressureTrendValues", "PressureTrendMax");
|
||||||
|
BindTrendPolyline(FlowTrendPrimaryPolyline, FlowTrendCanvas, converter, "ActiveFlowTrendPrimaryValues", "FlowTrendMax");
|
||||||
|
BindTrendPolyline(FlowTrendSecondaryPolyline, FlowTrendCanvas, converter, "ActiveFlowTrendSecondaryValues", "FlowTrendMax");
|
||||||
|
BindTrendPolyline(FlowTrendTertiaryPolyline, FlowTrendCanvas, converter, "ActiveFlowTrendTertiaryValues", "FlowTrendMax");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void BindTrendPolyline(
|
||||||
|
Polyline polyline,
|
||||||
|
Canvas canvas,
|
||||||
|
IMultiValueConverter converter,
|
||||||
|
string valuesPath,
|
||||||
|
string maxPath)
|
||||||
|
{
|
||||||
|
var binding = new MultiBinding
|
||||||
|
{
|
||||||
|
Converter = converter,
|
||||||
|
ConverterCulture = CultureInfo.CurrentCulture
|
||||||
|
};
|
||||||
|
|
||||||
|
binding.Bindings.Add(new Binding(valuesPath));
|
||||||
|
binding.Bindings.Add(new Binding(nameof(ActualWidth)) { Source = canvas });
|
||||||
|
binding.Bindings.Add(new Binding(nameof(ActualHeight)) { Source = canvas });
|
||||||
|
binding.Bindings.Add(new Binding(maxPath));
|
||||||
|
|
||||||
|
BindingOperations.SetBinding(polyline, Polyline.PointsProperty, binding);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user