add:白板页面删除
This commit is contained in:
@@ -4963,6 +4963,13 @@
|
|||||||
Text="{Binding Index}">
|
Text="{Binding Index}">
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</Border>
|
</Border>
|
||||||
|
<Button Width="24" Height="24" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="4"
|
||||||
|
ToolTip="删除此页"
|
||||||
|
Click="WhiteBoardPageListItem_DeleteClick"
|
||||||
|
Background="#CC000000" Foreground="White"
|
||||||
|
BorderThickness="0" Padding="0" Cursor="Hand">
|
||||||
|
<ui:SymbolIcon Symbol="Delete" />
|
||||||
|
</Button>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
@@ -7124,6 +7131,13 @@
|
|||||||
Text="{Binding Index}">
|
Text="{Binding Index}">
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</Border>
|
</Border>
|
||||||
|
<Button Width="24" Height="24" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="4"
|
||||||
|
ToolTip="删除此页"
|
||||||
|
Click="WhiteBoardPageListItem_DeleteClick"
|
||||||
|
Background="#CC000000" Foreground="White"
|
||||||
|
BorderThickness="0" Padding="0" Cursor="Hand">
|
||||||
|
<ui:SymbolIcon Symbol="Delete" />
|
||||||
|
</Button>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
|
|||||||
@@ -476,45 +476,60 @@ namespace Ink_Canvas
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 处理白板页面删除按钮点击事件,删除当前白板页面
|
/// 处理白板页面删除按钮点击事件,删除当前白板页面
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">事件发送者</param>
|
|
||||||
/// <param name="e">事件参数</param>
|
|
||||||
/// <remarks>
|
|
||||||
/// - 隐藏图片选择工具栏
|
|
||||||
/// - 清除当前画布内容
|
|
||||||
/// - 重新排列剩余页面的历史记录
|
|
||||||
/// - 更新当前页面索引和页面总数
|
|
||||||
/// - 恢复剩余页面内容
|
|
||||||
/// - 更新页码显示
|
|
||||||
/// - 启用添加按钮(如果页面总数小于99)
|
|
||||||
/// </remarks>
|
|
||||||
private void BtnWhiteBoardDelete_Click(object sender, RoutedEventArgs e)
|
private void BtnWhiteBoardDelete_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
// 隐藏图片选择工具栏
|
DeleteWhiteBoardPageByIndex(CurrentWhiteboardIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 按页码删除指定白板页(用于预览列表等)。仅当总页数大于 1 时有效。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pageIndex">要删除的页码(1 到 WhiteboardTotalCount)</param>
|
||||||
|
private void DeleteWhiteBoardPageByIndex(int pageIndex)
|
||||||
|
{
|
||||||
|
if (WhiteboardTotalCount <= 1 || pageIndex < 1 || pageIndex > WhiteboardTotalCount)
|
||||||
|
return;
|
||||||
|
|
||||||
if (currentSelectedElement != null)
|
if (currentSelectedElement != null)
|
||||||
{
|
{
|
||||||
// 保存当前编辑模式
|
|
||||||
var previousEditingMode = inkCanvas.EditingMode;
|
var previousEditingMode = inkCanvas.EditingMode;
|
||||||
UnselectElement(currentSelectedElement);
|
UnselectElement(currentSelectedElement);
|
||||||
// 恢复编辑模式
|
|
||||||
inkCanvas.EditingMode = previousEditingMode;
|
inkCanvas.EditingMode = previousEditingMode;
|
||||||
currentSelectedElement = null;
|
currentSelectedElement = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pageIndex == CurrentWhiteboardIndex)
|
||||||
|
{
|
||||||
ClearStrokes(true);
|
ClearStrokes(true);
|
||||||
|
|
||||||
if (CurrentWhiteboardIndex != WhiteboardTotalCount)
|
if (CurrentWhiteboardIndex != WhiteboardTotalCount)
|
||||||
for (var i = CurrentWhiteboardIndex; i <= WhiteboardTotalCount; i++)
|
for (var i = CurrentWhiteboardIndex; i <= WhiteboardTotalCount; i++)
|
||||||
TimeMachineHistories[i] = TimeMachineHistories[i + 1];
|
TimeMachineHistories[i] = TimeMachineHistories[i + 1];
|
||||||
else
|
else
|
||||||
CurrentWhiteboardIndex--;
|
CurrentWhiteboardIndex--;
|
||||||
|
|
||||||
WhiteboardTotalCount--;
|
WhiteboardTotalCount--;
|
||||||
|
|
||||||
RestoreStrokes();
|
RestoreStrokes();
|
||||||
|
}
|
||||||
|
else if (pageIndex < CurrentWhiteboardIndex)
|
||||||
|
{
|
||||||
|
for (var i = pageIndex; i < WhiteboardTotalCount; i++)
|
||||||
|
TimeMachineHistories[i] = TimeMachineHistories[i + 1];
|
||||||
|
TimeMachineHistories[WhiteboardTotalCount] = null;
|
||||||
|
WhiteboardTotalCount--;
|
||||||
|
CurrentWhiteboardIndex--;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (var i = pageIndex; i < WhiteboardTotalCount; i++)
|
||||||
|
TimeMachineHistories[i] = TimeMachineHistories[i + 1];
|
||||||
|
TimeMachineHistories[WhiteboardTotalCount] = null;
|
||||||
|
WhiteboardTotalCount--;
|
||||||
|
}
|
||||||
|
|
||||||
UpdateIndexInfoDisplay();
|
UpdateIndexInfoDisplay();
|
||||||
|
|
||||||
if (WhiteboardTotalCount < 99) BtnWhiteBoardAdd.IsEnabled = true;
|
if (WhiteboardTotalCount < 99) BtnWhiteBoardAdd.IsEnabled = true;
|
||||||
|
if (BoardBorderLeftPageListView?.Visibility == Visibility.Visible ||
|
||||||
|
BoardBorderRightPageListView?.Visibility == Visibility.Visible)
|
||||||
|
RefreshBlackBoardSidePageListView();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -265,5 +265,14 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预览列表中某页的“删除”按钮点击:删除该页,并阻止事件继续冒泡(避免触发选中/切页)。
|
||||||
|
/// </summary>
|
||||||
|
private void WhiteBoardPageListItem_DeleteClick(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
e.Handled = true;
|
||||||
|
if (sender is FrameworkElement fe && fe.DataContext is PageListViewItem item)
|
||||||
|
DeleteWhiteBoardPageByIndex(item.Index);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user