更新
This commit is contained in:
@@ -1203,37 +1203,10 @@
|
||||
<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="2" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
||||
<Canvas>
|
||||
<Polyline Stroke="#FF0B7A75" StrokeThickness="2">
|
||||
<Polyline.Points>
|
||||
<MultiBinding Converter="{StaticResource TrendPointCollectionConverter}">
|
||||
<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 x:Name="PressureTrendCanvas">
|
||||
<Polyline x:Name="ProximalPressureTrendPolyline" Stroke="#FF0B7A75" StrokeThickness="2" />
|
||||
<Polyline x:Name="DistalPressureTrendPolyline" Stroke="#FF3C6FB6" StrokeThickness="2" />
|
||||
<Polyline x:Name="DeltaPressureTrendPolyline" Stroke="#FFD38A16" StrokeThickness="2" />
|
||||
</Canvas>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
@@ -1305,18 +1278,9 @@
|
||||
<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="2" BorderBrush="#FFE0EAEE" BorderThickness="0,0,0,1" />
|
||||
<Canvas>
|
||||
<Polyline Stroke="#FF0B7A75" StrokeThickness="2">
|
||||
<Polyline.Points>
|
||||
<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">
|
||||
<Canvas x:Name="FlowTrendCanvas">
|
||||
<Polyline x:Name="FlowTrendPrimaryPolyline" Stroke="#FF0B7A75" StrokeThickness="2" />
|
||||
<Polyline x:Name="FlowTrendSecondaryPolyline" Stroke="#FF3C6FB6" StrokeThickness="2">
|
||||
<Polyline.Style>
|
||||
<Style TargetType="Polyline">
|
||||
<Setter Property="Visibility" Value="Collapsed" />
|
||||
@@ -1327,16 +1291,8 @@
|
||||
</Style.Triggers>
|
||||
</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 Stroke="#FFD38A16" StrokeThickness="2">
|
||||
<Polyline x:Name="FlowTrendTertiaryPolyline" Stroke="#FFD38A16" StrokeThickness="2">
|
||||
<Polyline.Style>
|
||||
<Style TargetType="Polyline">
|
||||
<Setter Property="Visibility" Value="Collapsed" />
|
||||
@@ -1347,14 +1303,6 @@
|
||||
</Style.Triggers>
|
||||
</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>
|
||||
</Canvas>
|
||||
</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;
|
||||
|
||||
namespace Cardiopulmonarybypasssystems;
|
||||
@@ -9,5 +13,39 @@ public partial class MainWindow : Window
|
||||
{
|
||||
InitializeComponent();
|
||||
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