parent
3e4b04b23f
commit
378ce6a781
|
@ -36,6 +36,17 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|||
|
||||
public ObservableCollection<string> Chambers { get; set; }
|
||||
|
||||
private RecipeData _recipeHeaders;
|
||||
public RecipeData RecipeHeaders
|
||||
{
|
||||
get => _recipeHeaders;
|
||||
set
|
||||
{
|
||||
_recipeHeaders = value;
|
||||
NotifyOfPropertyChange();
|
||||
}
|
||||
}
|
||||
|
||||
private RecipeData _currentRecipe;
|
||||
public RecipeData CurrentRecipe
|
||||
{
|
||||
|
@ -327,8 +338,6 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
var recipeData2 = new RecipeData(CurrentProcessType);
|
||||
recipeData2.BuildFormat($"{CurrentChamberType}\\{CurrentProcessType}", SelectedChamber, BaseApp.Instance.UserContext.RoleName);
|
||||
|
||||
|
@ -398,10 +407,18 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|||
|
||||
public void Start(RecipeData recipeData1, RecipeData recipeData2)
|
||||
{
|
||||
RecipeStep v = CurrentRecipe.Steps[3];
|
||||
|
||||
|
||||
int stepsCount = recipeData1.Steps.Count <= recipeData2.Steps.Count ? recipeData1.Steps.Count : recipeData2.Steps.Count;
|
||||
int stepsCount = 0;
|
||||
RecipeData recipeDataExcess;
|
||||
if (recipeData1.Steps.Count <= recipeData2.Steps.Count)
|
||||
{
|
||||
stepsCount=recipeData1.Steps.Count;
|
||||
recipeDataExcess=recipeData2;
|
||||
}
|
||||
else
|
||||
{
|
||||
stepsCount = recipeData2.Steps.Count;
|
||||
recipeDataExcess = recipeData1;
|
||||
}
|
||||
|
||||
for (int i = 0; i < stepsCount; i++)
|
||||
{
|
||||
|
@ -424,6 +441,15 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|||
}
|
||||
}
|
||||
|
||||
//步数多余部分高亮显示
|
||||
for (int i = stepsCount +1 ; i < recipeDataExcess.Steps.Count; i++)
|
||||
{
|
||||
for (int j = 0; j < recipeDataExcess.Steps[i].Count; j++)
|
||||
{
|
||||
recipeDataExcess.Steps[i][j].Highlight();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private object GetValue(Param param)
|
||||
|
|
|
@ -168,6 +168,7 @@
|
|||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<dgExtension1:DataGridRecipe
|
||||
x:Name="dgCustom"
|
||||
AllowDragToFill="False"
|
||||
|
@ -175,13 +176,11 @@
|
|||
IsEnabled="{Binding IsPermission}"
|
||||
Recipe="{Binding CurrentRecipe, Mode=OneWay}"
|
||||
ScrollviewerPositionOffset="{Binding ScrollviewerPositionOffset2, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
|
||||
|
||||
<dgExtension1:DataGridRecipe
|
||||
x:Name="dgCustom2"
|
||||
Grid.Column="1"
|
||||
AllowDragToFill="False"
|
||||
FrozenColumnCount="6"
|
||||
ComperHeadersVisibility="Row"
|
||||
IsEnabled="{Binding IsPermission}"
|
||||
Recipe="{Binding CurrentRecipe2, Mode=OneWay}"
|
||||
ScrollviewerPositionOffset="{Binding ScrollviewerPositionOffset2, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
|
||||
|
|
|
@ -28,6 +28,22 @@ namespace MECF.Framework.UI.Client.RecipeEditorLib.DGExtension
|
|||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void dgCustom_ScrollChanged(object sender, ScrollChangedEventArgs e)
|
||||
{
|
||||
|
||||
if (scroll==null)
|
||||
scroll = (ScrollViewer)e.OriginalSource;
|
||||
|
||||
if (ScrollviewerPositionOffset == null)
|
||||
ScrollviewerPositionOffset=new double[2];
|
||||
|
||||
var _verticalOffset = ScrollviewerPositionOffset[0] <= scroll.ScrollableHeight? scroll.VerticalOffset : ScrollviewerPositionOffset[0];
|
||||
|
||||
var _horizontalOffset= ScrollviewerPositionOffset[1] <= scroll.ScrollableWidth ? scroll.HorizontalOffset: ScrollviewerPositionOffset[1];
|
||||
|
||||
ScrollviewerPositionOffset = new double[] { _verticalOffset, _horizontalOffset };
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
@ -55,7 +71,7 @@ namespace MECF.Framework.UI.Client.RecipeEditorLib.DGExtension
|
|||
|
||||
// Using a DependencyProperty as the backing store for ScrollviewerPositionOffset. This enables animation, styling, binding, etc...
|
||||
public static readonly DependencyProperty ScrollviewerPositionOffsetProperty =
|
||||
DependencyProperty.Register("ScrollviewerPositionOffset", typeof(double[]), typeof(DataGridRecipe), new PropertyMetadata(default, ScrollviewerPositionOffsetPropertyChangedCallback));
|
||||
DependencyProperty.Register("ScrollviewerPositionOffset", typeof(double[]), typeof(DataGridRecipe), new PropertyMetadata(new double[2], ScrollviewerPositionOffsetPropertyChangedCallback));
|
||||
|
||||
#region RecipeData
|
||||
|
||||
|
@ -81,8 +97,8 @@ namespace MECF.Framework.UI.Client.RecipeEditorLib.DGExtension
|
|||
if (self.scroll != null)
|
||||
{
|
||||
var _scOffset = (double[])e.NewValue;
|
||||
self.scroll.ScrollToVerticalOffset(_scOffset[0] <= self.scroll.MaxWidth ? _scOffset[0] : self.scroll.MaxWidth);
|
||||
self.scroll.ScrollToHorizontalOffset(_scOffset[1] <= self.scroll.MaxHeight ? _scOffset[1] : self.scroll.MaxHeight);
|
||||
self.scroll.ScrollToVerticalOffset(_scOffset[0] <= self.scroll.ScrollableHeight ? _scOffset[0] : self.scroll.ScrollableHeight);
|
||||
self.scroll.ScrollToHorizontalOffset(_scOffset[1] <= self.scroll.ScrollableWidth ? _scOffset[1] : self.scroll.ScrollableWidth);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -347,11 +363,5 @@ namespace MECF.Framework.UI.Client.RecipeEditorLib.DGExtension
|
|||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private void dgCustom_ScrollChanged(object sender, ScrollChangedEventArgs e)
|
||||
{
|
||||
scroll = (ScrollViewer)e.OriginalSource;
|
||||
ScrollviewerPositionOffset = new double[] { scroll.VerticalOffset, scroll.HorizontalOffset };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue